Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

TAdvCombobox erweitern mit der Option ReturnIsTab

  Alt 24. Nov 2012, 12:47
Hallo zusammen,

ich verusche gerade irgednwie verwzeifelt eine Option ReturnIsTab in der TAdvCombobox einzubauen. So sieht mein Quelltext aus :
Delphi-Quellcode:
type
  TBISCombobox = class(TAdvComboBox)
  private
    FReturnIsTab : Boolean;
  protected
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  public
    { Public-Deklarationen }
  published
    property ReturnIsTab : Boolean read FReturnIsTab write FReturnIsTab default False;
  end;

{...}

procedure TBISCombobox.KeyDown(var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_RETURN) and (FReturnIsTab) then
  begin
    Perform(WM_NEXTDLGCTL, 0, 0);
  end;
  inherited KeyDown(Key, Shift);
end;
Wenn ich jetzt zur Laufzeit die Komponente erstelle und die Option ReturnIsTab auf True setze, wird nicht ins nächte Eingabefeld gesprungen, warum ? Wenn ich für die Komponente das OnKeyDown-Ereignis zuweise und dort Perform(WM_NEXTDLGCTL, 0, 0) ausführe, funktionert der Sprung ins nächste Eingabefeld.

Wer keine AdvCombobox hat kann es mal mit der TCombobox ausprobieren. Beide sind von TCustomCombobox abgeleitet und das OnKeyDown-Ereignis steht erst in der TCustomCombobox drin.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat