Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#1

Memofelder und Tastaturbotschaften

  Alt 12. Mai 2009, 13:38
Hallo Zusammen,
Diese Memo-Felder machen mich noch wahnsinnig!
Mit einer Ereignisbehandlungsroutine für WM_KEYDOWN kann man ja, bekanntermaßen, , Tastaturereignisse abfangen und behandeln.
Das geht aber nur solange, wie kein Memo-Feld (Tmemo) auf der Form liegt, weil das offensichtlich, ungefragt, alle Messages abfängt.
Denn ohne Tmemo funktioniert untenstehende Behandlungsroutine einwandfrei, ist ein Tmemo da, tut sich mal gar nix.
Kann mir mal bitte jemand verraten, wo hier der Code begraben liegt?

Delphi-Quellcode:
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
....
procedure TForm1.WMKeyDown(var Message: TWMKeyDown);
begin
  inherited;
  case Message.CharCode of
    VK_RETURN: // ENTER pressed
      if (Message.KeyData and $1000000 <> 0) then
        // Test bit 24 of lParam
        ShowMessage('ENTER on numeric keypad')
      else
        ShowMessage('ENTER on Standard keyboard');
  end;
end;
Freundliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat