Tabulator-Reihenfolge
-
Ich habe einem Edit Control als Tabulator-Reihenfolge die "1" gegeben. Wenn der Dialog geöffnet wird, dann kann ich den Coursor im Edit-Steuerelement sehen - aber er blinkt nicht! Wenn ich Text schreiben möchte, dann wird das erste Zeichen "verschluckt" und der Coursor beginnt jetzt normal zu blinken. Die weiteren Zeichen kann ich jetzt ohne Probleme eingeben.
Zum besseren Verständnis: Dieser Dialog wird geöffnet, wenn ich vorher im Hauptprogramm die F10-Taste betätigt habe, und diese fange ich mit folgendem Code ab:
BOOL ChimmelDlg::PreTranslateMessage(MSG* lpmsg) { if(lpmsg->wParam == VK_F10) PostMessage(WM_STARTDLG, 0, 0); return CDialog::PreTranslateMessage(lpmsg); }Ich habe eine benutzerdefinierte Nachricht erzeugen müssen (WM_STARTDLG) um überhaupt den besagten Dialog öffnen zu können. Irgendwelche Ideen?
-
Hmmm, SetFocus???
Grüße Rapha
-
...hätte ich erwähnen sollen - habe es mit SetFocus probiert. Leider hat es keinen Erfolg gebracht

-
Hm, bei mir klappts super.
Benutzt du DoModal()?
-
Also wenn ich nicht ganz so müde bin und das richtig verstanden habe, möchstes du einfach das der Cursor bei Start des Dlg in deinem Editfeld steht.. richtig oder????
Dann gehe in dein Studio und drücke mal bei der Dialoganzeige auf Strg+D dann kannst du mit der Maus die Reihenfolge der Tabstops festlegen....
Wenns ne falsche Antwort ist, vergib mir *g*
*winke*
Hellsgore
-
An Rapha: Ja, ich benutze DoModal
An Hellsgore: Die Tabulator-Reihenfolge des Edit-Steuerelementes hat bereits die "1".Das interessante ist, manchmal klappt es und manchmal klappt es nicht. Ich habe auch schon Sleep() an diversen Code-Stellen ausprobiert - bis jetzt kein Erfolg. Vermutlich hängt es irgendwie mit PreTranslateMessage in Verbindung mit PostMessage zusammen...
-
Bist du sicher, dass du die Taste auch richtig drückst
