Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: TCheckBox OnKeyDown nicht bei Cursortasten

  Alt 12. Jun 2007, 17:20
Ein Steuerelement bekommt nur dann die Pfeiltasten (Cursortasten) über WM_KEYxxx-Meldungen, wenn es auf die Meldung WM_GETDLGCODE den Wert DLGC_WANTARROWS oder DLGC_WANTALLKEYS zurückgibt. Ihr müsstet euch also eine eigene Klasse von TCheckBox ableiten und eine Behandlung für die Meldung WM_GETDLGCODE hinzufügen.

Beispiel:
Delphi-Quellcode:
interface

type
  TCheckboxWithArrowKeys = class(TCheckBox)
  private
    procedure WMGetDlgCode(var Message: TWMGetDlgCode); message WM_GETDLGCODE;
  end;

implementation

procedure TCheckboxWithArrowKeys.WMGetDlgCode(var Message: TWMGetDlgCode);
begin
  inherited;
  Message.Result := Message.Result or DLGC_WANTARROWS;
end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat