AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein der Event Onchange von ComboBox aufgerufen
Thema durchsuchen
Ansicht
Themen-Optionen

der Event Onchange von ComboBox aufgerufen

Ein Thema von thomas2009 · begonnen am 8. Apr 2011 · letzter Beitrag vom 9. Apr 2011
Antwort Antwort
Seite 1 von 2  1 2      
thomas2009
(Gast)

n/a Beiträge
 
#1

der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 12:59
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;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:06
Wie wäre es damit:

ComboBox1Change(ComboBox1);
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#3

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:11
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;
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:18
Vielleicht solltest du dich endlich einmal mit den Grundlagen beschaftigen, sonst wird das nie etwas!
Markus Kinzler
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:20
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:28
@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).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:30
Delphi-Referenz durchsuchenTComboBox.OnChange
Zitat:
Note: OnChange only occurs in response to user actions. Changing the Text property programmatically does not trigger an OnChange event.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:42
@Jumpi
Die VCL verhält sich an vielen Stellen nicht ganz erwartungsgemäß.
Erwartungsgemäßes verhalten ist aus der Sicht des Users. Ich finde es besser/schöner/logischer das man über Programmtechnische Änderungen nicht zusätzlich Informiert wird.

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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#9

AW: der Event Onchange von ComboBox aufgerufen

  Alt 8. Apr 2011, 13:53
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.
Genau.

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.
Uli Gerhardt
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#10

AW: der Event Onchange von ComboBox aufgerufen

  Alt 9. Apr 2011, 00:54
Wie wäre es damit:

ComboBox1Change(ComboBox1);
Es hat geklappt

Oder vlt. ist - allgemein - diese Form besser geeignet:
Delphi-Quellcode:
...
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  AktualisiereEtwas;
end;
Das funktioniert auch. ich möchte Aber den Event Onchange komplett aufrufen
Mit deinem Vorschlag muss ich in die Funktion AktualisiereEtwas alles
hinschreiben, was in Combobox1Change steht. Sonst ist OK

Geändert von thomas2009 ( 9. Apr 2011 um 01:02 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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