Dialog beendet mit ESC

michaelwengert

Erfahrenes Mitglied
Morgen zusammen.

Habe folgendes Problem:
ICh habe eine Dialoganwendung erstellt. Wenn ich jetzt in einem Steuerelement des Dialoges bin (egal welches) und die ESC-Taste drücke beendet sich der Dialog. Die sollte aber nicht passieren.

Kann man das irgendwo abstellen
 
Du könntest im PreTranslateMessage() für den Dialog den Druck auf ESC abfangen und ignorieren. Ich bin mir gerade nicht ganz sicher, aber du müsstest auf WM_KEYDOWN (oder -UP?) mit VK_ESCAPE lauschen.
 
Un wie mache ich das?
Wenn ich dem Dialog einfach nur WM_KEYDOWN/UP hinzufüge wird diese beim drücken der ESC nichteinmal angesprungen.
Wie kann ich was im PreTranslateMessage() abfangen?
 
Lass dir PreTranslateMessage() vom Wizard einbauen und setz etwa Folgendes rein:

Code:
BOOL CEinDlg::PreTranslateMessage(MSG* pMsg) 
{
  switch( pMsg->message )
  {
  case WM_KEYDOWN:
    switch( pMsg->wParam )
    {
    case VK_ESCAPE:
      //ignorieren
      return TRUE;
    }
  }
  
  return CDialog::PreTranslateMessage(pMsg);
}
 

Neue Beiträge

Zurück