Dialoganwendung ....
-
Hi!
Ich habe eine Dialoganwendung. Soweit ist auch alles ok. Beim drücken der Taste Return wird die Anwendung beendet! Das darf nicht sein. Wie kann ich das verhindern (der Cursor befindet sich in einem Editfeld)
Und dann noch eine Frage, wie kann ich eine Methode aufrufen lassen wenn der user oben auf das x zum beenden des Programms klickt?

-
haste sicher die buttons ok und cancel gelöscht gele *g*
a.) wenn nicht dann must du dem button ok mit dem klassenassisten ne funktion zuweisen (denk schon das du weist wie das geht)
in dieser steht dan CDialog::OnOk()
einfach rauslöschen dan macht er nix beim druck auf enterb.)wenn du die buttons gelöscht hast mach einfach schnell einen mit der ID IDOK und dann a.) dann kannst du ihn auch wieder löschen (die funktion lässt du aber)
-
PreTranslateMessage überschreiben und folgendes einfügen:
if (pMsg->message == WM_KEYDOWN) if (pMsg->wParam == VK_RETURN) return FALSE; //2. in OnSysCommand folgendes einfügen: if (nID == SC_CLOSE) //foo();
-
wuschu schrieb:
haste sicher die buttons ok und cancel gelöscht gele *g*
a.) wenn nicht dann must du dem button ok mit dem klassenassisten ne funktion zuweisen (denk schon das du weist wie das geht)
in dieser steht dan CDialog::OnOk()
einfach rauslöschen dan macht er nix beim druck auf enterb.)wenn du die buttons gelöscht hast mach einfach schnell einen mit der ID IDOK und dann a.) dann kannst du ihn auch wieder löschen (die funktion lässt du aber)
Also erstmal danke für dein posting!! Ich kann mit dem Klassenassistent umgehen!
Eine Antwort auf meine zweite Frage weist du nicht zufällig, oder?
-
in dem du das in die dialog überwachung mit aufnimmst
WM_CLOSE wäre das dann wenn ich mich recht entsinne
-
Hallo !
Einen Klick mit der rechten Maustaste im Arbeitsbereich auf die Klasse -> "Behandlungsroutine für Windowsnachrichten hinzufügen" auswählen -> "WM_CLOSE" auswählen -> OK-Button klicken -> die Methode OnClose() wird erstellt und beim Klick auf das x ausgeführt.
Tschüss
[edit] ...eine Sekunde zu spät...
[/edit]
-
isabeau schrieb:
[edit] ...eine Sekunde zu spät...
[/edit]dafür aber eine bessere berschreibung als "meine"

-
danke für eure Hilfe!!!!