Diese Funktion muß im Event-Loop aufgerufen werden. In dem Bitvektor <mwhich> werden die Ereignis-Bits gelöscht, die sich auf den Fensterdialog beziehen. Nach wdlg_evnt() kann die EVNT-Struktur von der Applikation zur Auswertung der für sie bestimmten Events benutzt werden. Liefert wdlg_evnt() eine 0 zurück, muß der Fensterdialog geschlossen werden (wdlg_close() aufrufen).
Deklaration: WORD wdlg_evnt( DIALOG *dialog, EVNT *events ); Aufruf: cont = wdlg_evnt( dialog, &events ); Variable Belegung Bedeutung Eingaben: contrl[0] 166 wdlg_evnt contrl[1] 0 Einträge in intin contrl[3] 2 Einträge in addrin addrin[0] dialog Zeiger auf die Dialog-Struktur addrin[1] events Zeiger auf die EVNT-Struktur Ausgaben: contrl[2] 1 Einträge in intout contrl[4] 0 Einträge in addrout intout[0] cont 0: Dialog schließen 1: alles in Ordnung Beschreibung der EVNT-Struktur: typedef struct { WORD mwhich; /* Art der Ereignisse */ WORD mx; /* x-Koordinate des Mauszeigers */ WORD my; /* y-Koordinate des Mauszeigers */ WORD mbutton; /* gedrückte Maustaste */ WORD kstate; /* Status der Sondertasten (kbshift) */ WORD key; /* Scancode der gedrückten Taste */ WORD mclicks; /* Anzahl der Mausklicks */ WORD reserved[9]; /* reserviert */ WORD msg[16]; /* Message-Buffer */ } EVNT;
Bemerkung: Das Iconify-Event wird nicht von wdlg_evnt() unterstützt. Wer den Iconifier bei wdlg_open() als Fensterelement anmeldet muß daher dieses Ereignis auswerten und selber behandeln. Das gleiche gilt, wenn man den Sizer als Element anmeldet.