![]() |
TAdvCombobox erweitern mit der Option ReturnIsTab
Hallo zusammen,
ich verusche gerade irgednwie verwzeifelt eine Option ReturnIsTab in der TAdvCombobox einzubauen. So sieht mein Quelltext aus :
Delphi-Quellcode:
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
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;
Delphi-Quellcode:
ausführe, funktionert der Sprung ins nächste Eingabefeld.
Perform(WM_NEXTDLGCTL, 0, 0)
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. |
AW: TAdvCombobox erweitern mit der Option ReturnIsTab
Das WM_NEXTDLGCTL muss an die PArent Form geschickt werden. Du sendest es nun an deine ComboBox selber, dort sind ja aber keine weiteren Controls drin.
Delphi-Quellcode:
Im OnKeyDown hast du wahrscheinlich auch das Perform von dem Form, wo das Control drauf lag aufgerufen.
f:=GetParentForm(Self);
if assigned(f) then f.Perform(WM_NEXTDLGCTL, 0, 0); |
AW: TAdvCombobox erweitern mit der Option ReturnIsTab
Hallo Lars,
danke für Deine schnelle Antwort. Der Hinweis mit dem GetParentForm war genau richtig. Es funktioniert jetzt einwandfrei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz