Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Unsichtbare "Fokus-Komponente"

  Alt 19. Okt 2011, 00:40
Du kannst auch Deiner Komponente explizit mit SetFocus den Fokus zuweisen (z.B. im MouseDown) und in KeyDown die Tastatureingaben abfragen.
In meiner Panelableitung setze ich das so um.


Delphi-Quellcode:
  TodPanel = class(TPanel)
  private
  protected
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
...

procedure TodPanel.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  inherited;
...
  SetFocus;
  BringToFront;
...
end;

procedure TodPanel.KeyDown(var Key: Word; Shift: TShiftState);
begin
  if Key = VK_DELETE then
    Delete
  else if Key = VK_RETURN then
    ShowForm
  else
    inherited;
end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat