3.52 DM_ProposeInputHandlerArgs
Mit Hilfe dieser Funktion kann vom Dialog Manager eine nicht belegte Nachricht erfragt werden. Diese ist dazu notwendig, dass beim Vergeben einer Nachrichtennummer keine Überschneidungen mit bereits anderen vergebenen Nachrichtennummern auftreten können.
Diese Funktion gibt es nur unter Microsoft Windows.
DM_Boolean DML_default DM_EXPORT DM_ProposeInputHandlerArgs
(
DM_InputHandlerArgs pInputArgs,
DM_Options options
)
Parameter
<-> DM_InputHandlerArgs pInputArgs
Das Element msg oder message in diesem Parameter ist beim Aufruf dieser Funktion mit der Nummer der Nachricht belegt. Dieser Wert wird vom Dialog Manager als Wunsch interpretiert. Bei der Rückgabe enthält dieses Element die wirklich angelegte Nachrichtennummer. Es muss sich dabei um eine vom Benutzer definierte Nachricht handeln, liegt also im Bereich von WM_USER bis 0x7FFF.
Bei der Rückgabe dieser Funktion ist zusätzlich das Element hwnd belegt. In diesem Element wird das Objekt zurückgegeben, an das die Funktion gebunden worden ist.
-> DM_Options options
Dieser Parameter wird zur Zeit noch nicht benutzt und muss daher mit 0 belegt sein.
Rückgabewert
TRUE |
Funktion wurde erfolgreich ausgeführt. |
FALSE |
Funktion wurde nicht erfolgreich ausgeführt da entweder die angegebene Nachricht im falschen Bereich war oder ein NULL-Pointer für den ersten Parameter angegeben worden ist. |
Beispiel
Suche nach einer freien Message
static boolean TcpWin_CheckAvail __1(
(TranspDescr *, tpdesc))
{
DM_InputHandlerArgs InpArgs;
/* liefert WinHandle des unsichtbaren Fensters, an dem
** Input-Handler haengt und gibt freie Message zurueck.
*/
InpArgs.hwnd = (HWND) 0;
InpArgs.message = TcpWinMsgGetXByY;
InpArgs.wParam = (WPARAM) 0;
InpArgs.lParam = (LPARAM) 0;
InpArgs.mresult = (LRESULT) 0;
InpArgs.userdata = (FPTR) 0;
DM_ProposeInputHandlerArgs (&InpArgs, DMF_DontTrace);
TcpWinHwnd = InpArgs.hwnd;
TcpWinMsgGetXByY = InpArgs.message;
}