![]() |
OnChange Ereigniss in eine Combobox/Listbox legen
Hallo zusammen
Wie kann ich ein
Delphi-Quellcode:
In eine Combobox oder Listbox legen, damit ich zur Laufzeit Komponente mit derOnChange := Ereignis_OnChange; //TNotify OnKeyPress := Ereignis_OnKeyPress; //TKeyPressEvent gewünschten procedure verbinden kann? Die Komponente werden zur Laufzeit erzeugt:
Delphi-Quellcode:
... Edit_Array[AktuellesDynamischesEditfeld] := TEdit.Create(self); with Edit_Array[AktuellesDynamischesEditfeld] do begin Parent := ParentForm; Name :='Edit_'+KompName; Left := PositionLinks+150; Top := PositionOben; OnChange := Ereignis_OnChange; //TNotify OnKeyPress := Ereignis_OnKeyPress; //TKeyPressEvent OnMouseMove := Komponente_OnMouseMove; Color := clWhite; Text := KompText; Visible := Sichtbar; Enabled := Aktiv; Width := Breite; end; ... Danke für Eure Hilfe Gruss RWP |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
|
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Danke für die Willkommenswünsche und die schnelle Antwort.
Ich bin wohl Heute zu lange vor der Kiste gehockt und raffe es nicht mehr. Die Beschreibung hilft mir im Moment nicht weiter. Alles was ich möchte ist nur den Wert von OnKeyPress_Integer_Only oder OnKeyPress_Real_Only; in eine Combo oder Listbox auswählen können und bei der Auswahl an die entsprechende Komponente anhängen. Hat das schon jemand gemacht von Euch? Danke |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Einfach in einem Case
|
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Ähm,
was meinst du jetzt damit? Zitat:
Gruß oki |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Ich möchte auf einem Form diverse Komponente zur Laufzeit erzeugen.
Gerne möchte ich die Möglichkeit geben, dass der Benutzer der Software zur Laufzeit sagen kann, dass er ein Editfeld erstellen kann wo er nur Zahlen eingeben kann. Dort kann er dann dem OnKeyPress die Hardgecodete OnKeyPress_Integer_Only zuweisen oder OnKeyPress_Real_Only. Damit er diese einfach Zuweisen kann sollte diese in einer Combobox oder Listbox aufgelistet werden. |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Wie schon erwähnt, würde ich in einem Case anhand des Indexes das .onKeyPress setzen.
|
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Danke für die Hilfe erstmal, werde mich Morgen melden, muss mich mal hinlegen
Gruss RWP |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Ich glaub, jetzt hab ich es gerafft. Was das mit KeyPress zu tun hat hab ich zwar immer noch nicht verstanden, aber egal. Klar ist es dann so wie es mkinzler schreibt.
Ich würde dann aber ein Property implementieren bei dem man den Typ setzt. Das ist zum Beispiel eine Möglichkeit:
Delphi-Quellcode:
Das ist natürlich eine eigene neue Klasse. Du kannst dann zum Beispiel den Typ im Code über dieses neue Property einstellen. Dann vererbst du alle relevanten Methoden und behandelst die Werte indem du den Typ abfragst und ihn dementsprechend behandels. Das dann auch über eine Case:
TValueTyp = (vt_Integer, vt_Real); // oder noch mehr
TValueTypeEdit = class(TEdit) private FValueTyp : Integer; ... public property ValueTyp : TValueTyp read FValueTyp write FValueTyp; ...
Delphi-Quellcode:
Gruß
...
case FValueTyp of vt_Integer : // hier alles tun damit nur ein Integer übrig bleibt (z.B. Trunc) vt_Real : .......... end; |
Re: OnChange Ereigniss in eine Combobox/Listbox legen
Moin,
ich glaube Markus meinte in Beitrag #7 eher sowas:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.ComboBoxChange(Sender: TObject);
begin case ComboBox.ItemIndex of 0: Edit.OnKeyPress := EditKeyPressIntOnly; 1: Edit.OnKeyPress := EditKeyPressRealOnly; else Edit.OnKeyPress := nil; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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-2025 by Thomas Breitkreuz