Wie gebe ich einem Steuerelement den Fokus (zum hineinschreiben)?
-
Ich habe bereits in der MSDN nachgeschaut, aber ich habe keine Funktion gefunden, die einem Steuerelement in einem modalen Dialogfeld den Eingabefokus gibt. Ich brauche aber eine solche Funktion für ein CEdit-Element. Kennt hier jemand zufällig eine solche Funktion, die die MSDN vergessen haben könnte?
-
SetFocus?
-
Funzt nicht!
-
Der aus dem Westen ... schrieb:
Funzt nicht!
Na dann ist ja alles klar.
-
Funzt nicht! Tolle Fehlerbeschreibung
GetDlgItem(IDC_EDIT)->SetFocus();Sollte eigentlich auch bei dir Funzen.
-
Entschuldigung, wenn ich mich etwas sparsam ausgedrückt habe. Ich habe versucht, nach einer bestimmten Eingabe in einem Programm (wenn die Eingabe in einem Datensatz vorhanden ist) den Eingabefocus zu einem anderen Eingabefeld zu verschieben. Dazu habe ich SetFocus - und zwar schon vorher ohne Erfolg - benutzt, es hat aber gar nichts gebarcht. Der Fokus blieb bei einem anderen Steueerelement, weshalb ich dachte, SetFocus ist nicht mein Freund.
Also, wenn ihr meint, SetFocus wüsste es sein, muss ich selbst herausfinden, woran es liegt. Ihr würdet mich ja nicht belügen.
-
Der aus dem Westen ... schrieb:
...die MSDN vergessen haben könnte
die MSDN vergisst nix...
-
Kleines Update: SetFocus hat (in Verbindung mit einem Zeiger) funktioniert, aber leider wieder nicht so, wie ich es erwartet hatte. Statt dass man direkt den Text erweitern oder kürzen kann, ist dieser jetzt vollmakiert, sodass beim nächsten Druck auf eine Taste dieser komplett gelöscht wird.
Eins muss man Microsoft lassen: wenn sie's nicht hinkriegen, dann aber richtig.Wieder zum Haupthema: Muss ich eine Extranachricht verarbeiten, damit man direkt in das Editfeld schreiben kann, ohne den Text zu vernichten, oder was?
Danke für etwaige Antworten.
-
Jo, Schau dir mal Bei CEdit SetSel() an damit kannst du die Selektion des CEdit beeinflussen
-
Hätte ich auch drauf kommen können. Wozu lese ich mir einen Wolf zum Thema MFC an? Trotzdem danke.