Einzelnen Beitrag anzeigen

Marco Steinebach

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

Re: Memofelder und Tastaturbotschaften

  Alt 12. Mai 2009, 22:38
Hallo Zusammen,
Wer also jemals ein Memofeld hat, und die Enter-Tasten unterscheiden will/muß, hier die Lösung.
Klasse ableiten
Delphi-Quellcode:
uses
  Windows, STDCTRLS, Messages;

type
  TTextfeldKomponente = Class (TMemo)
    public
      NumPadEnter: boolean; // true, wenn enter auf dem Nummernblock gedrückt wird.
      procedure WndProc(var Msg: TMessage); override;
  end;

implementation

procedure TTextfeldKomponente.WndProc(var Msg: TMessage);
begin
  if msg.msg = WM_KEYDOWN then
    if TWMKEYDOWN(msg).CharCode = VK_RETURN then
      NumPadEnter := (TWMKEYDOWN(msg).KeyData and $1000000 <> 0);
  inherited;
end;

end.
und dann kann im KeyDown des aufrufenden Formulars beispielsweise stehen:
Delphi-Quellcode:
  case key of
    VK_RETURN:
    begin
      if tf.NumPadEnter then
      begin
       // mach was, wenn enter auf dem Nummernblock gedrückt wurde...
Viel Spaß damit!
Marco
Marco Steinebach
  Mit Zitat antworten Zitat