![]() |
der Event Onchange von ComboBox aufgerufen
Hi
was muss ich tun, damit der Event Onchange von ComboBox aufgerufen wird ? wenn ich den Index von der ComboBox ändere, dann passiert nichts ! Ich ändere den Index nicht direkt über Comobox sondern über den Button-Klick
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin ComboBox1.ItemIndex:=2; end;
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin Caption :='ComboBox1 Index wurde geändert';; end; |
AW: der Event Onchange von ComboBox aufgerufen
Wie wäre es damit:
Delphi-Quellcode:
ComboBox1Change(ComboBox1);
|
AW: der Event Onchange von ComboBox aufgerufen
Oder vlt. ist - allgemein - diese Form besser geeignet:
Delphi-Quellcode:
procedure TForm1.AktualisiereEtwas;
begin Caption := 'ComboBox1 Index wurde geändert'; end; procedure TForm1.Button1Click(Sender: TObject); begin ComboBox1.ItemIndex := 2; AktualisiereEtwas; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin AktualisiereEtwas; end; |
AW: der Event Onchange von ComboBox aufgerufen
Vielleicht solltest du dich endlich einmal mit den Grundlagen beschaftigen, sonst wird das nie etwas!
|
AW: der Event Onchange von ComboBox aufgerufen
OT und mal wieder nur aus Neugier gefragt:
Das Change Ereignis wird nicht ausgelöst, wenn die Änderung im Code erfolgt? Frage deshalb, weil ich parallel zu Delphi für die Firma, C# für die Schule lerne und da hab ich erst vorgestern in einem Buch zu der entsprechenden ComboBox Komponente gelesen, dass das entsprechende Event (war es IndexChanged?) sowohl durch den User als auch durch anderen Code ausgelöst wird. |
AW: der Event Onchange von ComboBox aufgerufen
@Jumpi
Die VCL verhält sich an vielen Stellen nicht ganz erwartungsgemäß. Man kann zwar dann immer irgendwelche Workaraounds implementieren, aber eine Generalüberholung der VCL täte m.E. schon Not (selbst wenn alte Projekte dann nicht mehr fortgeführt werden könnten). |
AW: der Event Onchange von ComboBox aufgerufen
![]() Zitat:
|
AW: der Event Onchange von ComboBox aufgerufen
Zitat:
In dem Fall das bei programmtechnische Änderungen man immer Events bekommt ist Aufwändiger zu behandeln da man dann oft noch eine Flag braucht um im Event zu unterscheiden ob man gerade Programmtechnisch etwas macht oder die Änderung wirklich vom User kommt. Und ein "Generalüberholung" der VCL um das Verhalten zu ändern ist mit sehr viel Testaufwand/Anpassungen verbunden und würde m.E. noch viel größere Aufschreie verursachen als mit der Unicode-Umstellung. |
AW: der Event Onchange von ComboBox aufgerufen
Zitat:
Was auch nervt, ist die Inkonsistenz: Das OnChange bei ComboBoxen wird bei programmatischen Änderungen nicht aufgerufen. Bei CheckBoxen gibt's kein OnChange, also muss man OnClick nehmen - und das wird bei programmatischen Änderungen aufgerufen. |
AW: der Event Onchange von ComboBox aufgerufen
Zitat:
Zitat:
Mit deinem Vorschlag muss ich in die Funktion AktualisiereEtwas alles hinschreiben, was in Combobox1Change steht. Sonst ist OK |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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