Xerox -05W Printer User Manual


 
13-20
Dynamic Data Exchange
(LONG)sizeof(DDEPOKE) + sizeof(DDEMOUSEREPORT) + 2)))
return;
if (!(lpPokeData = (DDEPOKE FAR*)GlobalLock(hPokeData)))
{
GlobalFree(hPokeData);
return;
}
MouseReport.X = Coord.x;
MouseReport.Y = Coord.y;
MouseReport.ButtonID = ButtonDown;
fmemcpy(lpPokeData->Value, &(BYTE far *)MouseReport,
sizeof(DDEMOUSEREPORT));
There is no limit checking on the values of X and Y, so the values passed through to
TeemTalk must be within the valid range for the application that is to receive the
mouse hit. Valid values for the button press (ButtonID) are shown below. Any values
out of this range will result in the DDE_POKE failing.
0 Left Mouse Button
1 Centre Mouse Button
2 Right Mouse Button
It is important to note that the host application receiving these "mouse hit reports"
must be able to recognize them. The reports will be sent in a format appropriate to
TeemTalk's current mode of operation. For example, when TeemTalk-07W is in
W3220 mode the reports would be in Westward 3220 format, whilst in Tek mode the
reports would be in Tek format.
The SendMouseStr function is an alternative string version of SendMouse. The
information sent with the data message is a string a decimal values in the form x,y,n
where n indicates the mouse button as listed earlier.
Send
Send is a straightforward POKE of data, which must be terminated with a CR LF
NULL sequence, to keep in line with the CF_TEXT data format. Note however that
these three characters will not get dispatched through to the host.
Receive
Receive is a WARM/HOT link function (via the WM_DDE_ADVISE and
subsequent WM_DDE_DATA messages).
All data received by TeemTalk once reception of the WM_DDE_ADVISE message
has been acknowledged will be acted upon as normal, but with one important
addition. The data will also be buffered until the specified termination character(s) is/