Hallo liebe Gemeinde!
Ich wünsche Euch allen einen erfolgreiches, gesundes und weitestgehend bugfreies Jahr 2004.
Folgendes Szenario: In einer
NONVCL Anwendung werden modale Dialoge erzeugt, die hauptsächlich graphische Controls ähnlich des TGraphicControl der
VCL enthalten. An diese Controls leite ich aus der Dialogprozedur heraus unter anderem
WM_KEYDOWN/UP Nachrichten um. Damit das funktioniert, muss im
WM_INITDIALOG der Focus mit
SetFocus(AWnd) auf den Dialog selber gesetzt werden.
Nun enthält ein Dialog neben den graphische Controls aber zusätzlich noch zwei Listviews, die natürlich auch den Focus erhalten können. Und hier kommt es nun zum Dilemma Nr. 1 des Jahres. Es gelingt mir nicht, den Focus zurück auf das Dialogfenster zu setzen. Ich rufe brav
SetFocus(AWnd) auf und es wird auch eine
WM_SETFOCUS Nachricht an die Dialogprozedure abgesetzt. Aber das ist leider auch alles. Der Focus landet immer wieder auf dem ersten Listview.
Wie bekomme ich den Focus wieder auf mein Fenster zurück???
Viele Grüsse
Der OLLI