Fokus auf Editbox
-
Hallo,
Ich habe ein Problem :
Ich kann eine Editbox nicht fokussieren.
Mein jetziger Code:SetFocus( GetDlgItem(hwndDlg, IDC_EDITBOX) );Wo liegt der Fehler? Ich hab auch überprüft, ob GetDlgItem einen falschen Wert (NULL) zurückliefert : Wert ist gültig. Hab auch schon SetForegroundWindow probiert, gleiches Ergebnis.
Kann mir jemand helfen?
Falls es was bringt : SetFocus rufe ich bei der Notification WM_INITDIALOG auf (ich bin davon ausgegangen, dass es möglich ist)
Danke schon mal im voraus.
-
Der Aufruf ist glaube ich zu früh...
Aber warum machst Du es überhaupt so kompilziert? Setze einfach die Z-Order im Resoruce-Editor richtig, dann sollte das erste Control automatisch den Focus bekommen. Und wenn das Eingabefeld den Focus haben soll, dann mache diese einfach zum ersten Control!
-
Danke erstmal für die Antwort

Die Editbox hat die niedrigste ID-Nummer im Dialog, dennoch wird es nicht fokussiert (ausgenommen die Dialog-ID, die ist niedriger).
Wie kann ich die Nachricht ein wenig später schicken? Über einen Timer würde es ja praktisch gehen, aber nicht ein wenig zu umständlich?
-
Was redest du auf einmal von IDs?
-
Mit der ID hat das nichts zu tun, sondern mit der Z-Order!
Im VC2003 Ressource-Editor kannst DU die ändern mit Menü: "Format|Tab Order".
In VC6 ist dieser Eintrag glaube ich im "View" Menü versteckt...
-
Sorry, hab das damit irgendwie verbunden. Funzt jetzt auf jeden Fall.
Falls es noch jemanden interessiert : Es hat bei mir erst geklappt, nachdem ich TRUE bei der WM_INITDIALOG Notification zurückgegeben habe (Wenn WM_INITDIALOG nicht abgefangen wird, funktioniert es nicht, bei mir zumindest nicht).
Danke für die Hilfe