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.