DO reagiert auf die Betätigung eines Buttons. Diese Funktion sollte nach form_do() aufgerufen werden (oder von der Service-Funktion des Fensterdialogs). Wenn einer der Einträge der Listbox mit einem Doppelklick ausgewählt wurde, liefert lbox_do() -1 zurück. Der Dialog sollte dann geschlossen, so als wäre der OK-Button betätigt worden.
lbox_do() erkennt Doppelklicks am gesetzten obersten Bit der Objektnummer <obj> (Objektnummer | 0x8000). Bei der zurückgelieferten Objektnummer <slct_obj> ist das oberste Bit in jedem Fall gelöscht.
Deklaration: WORD lbox_do( LIST_BOX *box, WORD obj ); Aufruf: slct_obj = lbox_do( box, obj ); Variable Belegung Bedeutung Eingaben: contrl[0] 172 lbox_do contrl[1] 1 Einträge in intin contrl[3] 1 Einträge in addrin intin[0] obj Nummer des ausgewählten Objekts addrin[0] box Zeiger auf die Listbox-Struktur Ausgaben: contrl[2] 1 Einträge in intout contrl[4] 0 Einträge in addrout intout[0] slct_obj Nummer des ausgewählten Objekts oder -1, wenn ein Doppelklick auf einen Eintrag erfolgte