CEdit und Enter
-
Man kann das im Ressourceneditor einstellen:
z.B. mehrzeilig, return möglich etc.
Wenn du jetzt dort in die Hilfe siehst, dann kann man erkennen das es nicht möglich ist ein Multiline-Editfeld mit einem Passwort-Stil zu verschlüsseln.
Und ohne Multiline, so steht es dort, wird die Entertaste ignoriert.
-
hm, wie siehts mit RichEdit aus ?
Devil
-
Noch nicht probiert...
Es geht nur darum, das bei drücken der Entertaste zwar WM_KEYDOWN an das Feld gesendet wird, aber ich es irgendwie nicht abgefangen wird.Dazu wäre ein Single-Line CEdit ausreichend.
-
Hallo zusammen.
Ich hab das Problem mit der Entertaste, wo viele mit ein Problem haben, ganz simpel gelöst:
In der standartmäßigen OnOK() Funktion einfach diese Zeilen einfügen:
CWnd *wnd=GetFocus(); int ctrlID=wnd->GetDlgCtrlID(); switch(ctrlID) { case IDC_FELDXYZ: // Befehl break; case IDC_EDIT1: // Befehl break; }
Und vielleicht noch den CDialog::OnOk() ausklammern. Wie seht ihr das?
[ Dieser Beitrag wurde am 09.04.2003 um 14:13 Uhr von hronny editiert. ]
-
CWnd *wnd=GetFocus();
int ctrlID=wnd->GetDlgCtrlID();Programmierst du wirklich so? Ich finde das ziemlich gefährlich.
-
Programmierst du wirklich so? Ich finde das ziemlich gefährlich.
Warum?
Wer hat ein besseres Beispiel?
-
man prüft ja wohl erstmal den zeiger bevor man darauf eine methode aufrufst.
-
Beowulf: PreTranslateMessage
-
@hronny: Da der Rückgabewert von GetFocus() auch NULL sein kann, würde Dein Code-Beispiel nicht gut funktionieren.
Aber ob hier im Forum immer astreine Programm-Beispiele eingebracht werden müssen, ist wieder was anderes, es geht ja nur um's Prinzip, den Rest muss man/frau sich selbst dazuprogrammieren.
-
Shaggy ist ganz meiner Meinung :p
Wenn NULL kommt, kann es ja nicht ausgewertet werden. Kann man sonst irgendwie anders die ControlID abfragen?