Ignore:
Timestamp:
Mar 9, 2021, 9:19:49 AM (3 years ago)
Author:
chronos
Message:
  • Modified: Synced code with current trunk version.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/highdpi/Packages/DpiControls/UDpiControls.pas

    r272 r303  
    4747  public
    4848    property BorderStyle;
     49    property OnKeyDown;
    4950  end;
    5051
     
    415416  TDpiWinControl = class(TDpiControl)
    416417  private
     418    FOnKeyDown: TKeyEvent;
    417419    function GetBorderStyle: TBorderStyle;
    418420    function GetHandle: HWND;
     
    429431    procedure SetTabOrder(AValue: TTabOrder);
    430432    procedure SetTabStop(AValue: Boolean);
     433    procedure KeyDownHandler(Sender: TObject; var Key: Word; Shift: TShiftState);
    431434  protected
     435    procedure UpdateNativeControl; override;
    432436    function GetNativeControl: TControl; override;
    433437    function GetNativeWinControl: TWinControl; virtual;
    434438    property BorderStyle: TBorderStyle read GetBorderStyle write SetBorderStyle default bsNone;
     439    procedure KeyDown(var Key: Word; Shift: TShiftState); virtual;
    435440  public
    436441    Controls: TDpiControls;
     
    443448    property TabOrder: TTabOrder read GetTabOrder write SetTabOrder default -1;
    444449    property TabStop: Boolean read GetTabStop write SetTabStop default False;
    445     property OnKeyDown: TKeyEvent read GetOnKeyDown write SetOnKeyDown;
     450    property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
    446451    property OnKeyPress: TKeyPressEvent read GetOnKeyPress write SetOnKeyPress;
    447452    property OnKeyUp: TKeyEvent read GetOnKeyUp write SetOnKeyUp;
     
    29112916end;
    29122917
     2918procedure TDpiWinControl.KeyDownHandler(Sender: TObject; var Key: Word;
     2919  Shift: TShiftState);
     2920begin
     2921  KeyDown(Key, Shift);
     2922  if Assigned(FOnKeyDown) then FOnKeyDown(Self, Key, Shift);
     2923end;
     2924
     2925procedure TDpiWinControl.UpdateNativeControl;
     2926begin
     2927  inherited;
     2928  GetNativeWinControl.OnKeyDown := @KeyDownHandler;
     2929end;
     2930
    29132931function TDpiWinControl.GetNativeControl: TControl;
    29142932begin
     
    29192937begin
    29202938  Result := nil;
     2939end;
     2940
     2941procedure TDpiWinControl.KeyDown(var Key: Word; Shift: TShiftState);
     2942begin
    29212943end;
    29222944
Note: See TracChangeset for help on using the changeset viewer.