programmabbruch bei enter / esc
-
hi
hab folgendes problem: wenn ich enter drücke oder escape wärend das prog läuft, dann schließt er die anwendung.
gibt es da ne funktion, die tastatureingaben entgegen nimmt und bei druck auf die beiden tasten bestimmt reagieren kann ??
-
Moin,
anscheinend sollte ich dir mal alle meine Projekte schicken, denn folgendes Problem hatte ich auch grade.
Lösung: nimm die Funktion PreTranslateMessage in deine Dialog-Klasse auf.
Damit wird das beenden durch esc unterbunden.BOOL CClientDlg::PreTranslateMessage(MSG *pMsg) { if (pMsg->message == WM_KEYDOWN) { // zur Verhinderung des Schließens über ESC if (pMsg->wParam == VK_ESCAPE) { return 0; } } return CDialog::PreTranslateMessage(pMsg); }
Um zu verhindern, dass Enter dein Programm beendet, einfach ein Button als Standard-Button erstellen und unter umständen unsichtbar machen, wenn du ihn nicht brauchst. Das ist die einfachste, wenn vielleicht auch nicht sauberste Lösung, vielleicht kannst du Enter aber auch mit obigem Quelltext abfangen, muss eben nur Wissen welchen Code Enter hat.
Wenn du noch an dem Chat-Programm arbeitest, nimm einfach "Senden" als deinen Standard Button (unter Eigenschaften der Schaltfläche Format->Standardschaltfläche aktivieren
Wenn es dir egal ist, dass das Programm auch nicht mehr durch Alt+F4 nicht mehr beendet werden kann, kannst du auch einfach OnCancel() in deiner Dialog-Klasse überschreiben und alles bishergesagte vergessenHoffe du kannst es gebrauchen
ciao
-
Danke! Ich hatte das gleiche Problem...
Funktioniert super!
Grüße
Jojo68
-
geil, genau danach habe ich gesucht ^^ vielleicht kann ich mich mal revangieren für die ganzen lösungen
hab schon ein neues problem, aber was ganz anderes. vielleicht weißt du eine lösung:
ich will ein einfaches button mit einem icon oder einem bitmap erstellen. habe diese funktion ausprobiert: m_eButton.SetIcon(IDI_ICON);
m_eButton = das button, IDI_ICON = das icon was ich zum test drauf haben wollte. aber dann kommt der fehler das er keine konvertierung machen kann. hab auch ein HICON -objekt erstellt, aber hat alles nichts genützt.aber für die lösung von eben noch mal danke
-
Bitmap auf Button -> FAQ...
Devil
-
Moin,
ist zwar ausnahmsweise kein Problem was ich grade gelöst hatte, hab aber trotzdem ne LösungHICON m_Icon; m_Icon = AfxGetApp()->LoadIcon(IDI_ICON); m_Button.SetIcon(m_Icon); //CButton variable
noch was
-
und noch ein punkt mehr ^^