Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi combobox ereignisse (https://www.delphipraxis.net/133190-combobox-ereignisse.html)

markbolten 27. Apr 2009 17:02


combobox ereignisse
 
hi,
ich habe eine DropdownList Combobox . Wenn sich der Text (durch anklicken) ändert, wird das onchange ereignis ausgelöst. Welches Ereignis wird ausgelöst, wenn der Text durch eine andere Componente geändert wird? in der Hilfe steht "Wenn die Eigenschaft Text programmgesteuert geändert wird, wird das Ereignis OnChange nicht ausgelöst."

Wird die Eigenschaft Text geändert , werden im onchange ereignis weitere proceduren ausgeführt?
Wer kann mir weiterhelfen

cu
markbolten

schöni 27. Apr 2009 18:27

Re: combobox ereignisse
 
Hallo!

Wenn die Eigenschaft Text der ComboBox von einer anderen Komponente geändert wird, wird dasjenige Ereignis der ändernden Komponente ausgelöst, das für die Änderung zuständig ist.

Die Komponente, die den Text der ComboBox ändert, ist für die Änderung verantwortlich. OnChange der ComboBox hat mit diesem Fall nix zu tun, sondern reagiert auf die Textänderung.

Garfield 28. Apr 2009 06:53

Re: combobox ereignisse
 
Zitat:

Zitat von markbolten
Wird die Eigenschaft Text geändert , werden im onchange ereignis weitere proceduren ausgeführt?

In der Regel findet man in der Class-Deklaration diese Deklarationen:
Delphi-Quellcode:
...
FOnChange: TNotifyEvent;
...
property OnChange: TNotifyEvent read FOnChange write FOnChange;
...
Das Ereignis wird dann innerhalb der Class so ausgelöst:
Delphi-Quellcode:
if Assigned(FOnChange) then FOnChange(Self);
Das bedeutet, wenn mit dem Ereignis OnChange eine Procedure verbunden ist, wird das Ereignis OnChange ausgelöst. Als Folge dessen wird dann die verbundene Procedure ausgeführt.

Bei der Änderung des Textes der ComboBox wird das OnChange-Ereignis nicht ausgelöst. Du kannst aber nach dem Ändern des Textes die mit den Ereignis verbundene Procedure selbst aufrufen:
Delphi-Quellcode:
ComboBox1.Text := 'abc';
ComboBox1Change(Self);

markbolten 28. Apr 2009 07:45

Re: combobox ereignisse
 
Zitat:

Zitat von Garfield
Delphi-Quellcode:
ComboBox1.Text := 'abc';
ComboBox1Change(Self);

Danke, das hilft mir weiter


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz