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;