VC++ 6.0 MFC Anwendung: ON_WM_KEYDOWN

#587747
Lesenswert?

Irgendwie schaffe ich es nicht, das Keydown Event zum Laufen zu 
bekommen. Ich möchte die Pfeiltasten abfragen, aber egal welche Taste 
ich drücke, es passiert nichts (außer das sich das Programm z.B. bei 
Return beendet).
Eigentlich sollte doch diese Funktion ausgeführt werden, sobald man eine 
Taste drückt ? Gibt es vielleicht irgendeine standardmäßig bereits 
vorhandene Funktion, die dieses Event abfängt ?
Alle anderen Events funktionieren (ich habe gerade mal Mousewheel und 
andere Sachen ausprobiert, die funktionieren alle wunderbar)

void CTestDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
  MessageBox ("Key pressed !");
  CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
Persönliche Seite #587757
Lesenswert?

WM_KEYDOWN wird an das Fenster mit dem Eingabefocus gesandt. Das ist in 
der Regel nicht der Dialog selbst, sondern eines der darin dargestellten 
Controls.
Welches davon den Focus hat, wird durch einen gepunkteten Rahmen oder 
durch ein blinkendes Caret* hervorgehoben.

*) man könnte auch Cursor sagen, aber damit ist in Windows-Lingo der 
Mauszeiger gemeint.
#587797
Lesenswert?

Karl heinz Buchegger wrote:
> Wie immer ist auch diesmal
> http://www.google.com
> dein Freund.
> Suchworte: Dialog WM_KEYDOWN
>
> (Warum ist das eigentlich so schwer?)

Danke, was war genau das was ich gesucht habe !

Lass mal das "Dialog" als Suchbegriff weg, dann kommt nur Müll.
Ich bin jetzt schon seit etwa 2 Stunden am googeln und finde eigentlich 
immer nur den gleichen Code den ich auch schon habe, aber nirgends ein 
Wort dazu, das der nicht das macht, nach was er aussieht...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren