Einzelnen Beitrag anzeigen

OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#1

NONVCL: Dialog und Accelerator

  Alt 3. Dez 2004, 08:43
Guten Morgen Allerseits!

Ich werd noch bekloppt!

In einem Dialog sollen diverse Einstellungen, die graphisch dargestellt werden, schnell via Tastatur ausgewählt werden.

Also hab ich munter meine Ressourcen um eine Accelerator Tabelle erweitert und die Mainloop des Programms entsprechend aufgebohrt. AccelWnd ist das Handle des Fensters, das den Tastendruck verarbeiten soll.

Delphi-Quellcode:
    If (TranslateAccelerator(AccelWnd,Accel,Msg)=0) Then Begin
      TranslateMessage(Msg);
      DispatchMessage(Msg);
    End;
Funktioniert bis dahin alles wunderbar. Der Accelerator hat ein gültiges Handle und das Hauptfenster meiner Anwendung bekommt Post in Form einer WM_COMMAND Message. Dieses Fenster wird übrigens mit CreateWindowEx erzeugt ...

Das Dumme ist nur, dass die Accelerator-Geschichte für eine Dialog gedacht, ist der vom Hauptfenster mit DialogBoxParam geöffnet wird. Tja und an dieser Stelle schweigt der Accelerator. Hat sich was mit WM_COMMAND. (Wobei ESCAPE und ENTER wunderbar funktionieren).

Was ist da los? Wollen Accelerator und Dialoge nicht miteinander?

Vielen Dank schon mal

Der OLLI
No Pain No Gain!
  Mit Zitat antworten Zitat