![]() |
Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO
OnStateChange Ereignis Problem
Hallo, ich ändere im OnStateChange Ereignis die Farben der Komponenten auf meinem Formular und zwar abhängig vom gerade verwendeten Status, Einfügen, Ändern etc.
Delphi-Quellcode:
Jetzt hab ich auf dem Formular noch eine Checkbox mit der ich mittels AutoEdit meiner DataSource alle Komponenten auf sog. 'Dauerweiß' einfärben will.
...
case (sender as TDataSource).DataSet.State of dsEdit, dsInsert: begin for i := 0 to ComponentCount - 1 do begin if Components[i] is TDBEdit then TDBEdit(Components[i]).Color := clWhite; if Components[i] is TDBLookupComboBox then TDBLookupComboBox(Components[i]).Color := clWhite; if Components[i] is TDBMemo then TDBMemo(Components[i]).Color := clWhite; end; end; dsBrowse: begin for i := 0 to ComponentCount - 1 do begin if Components[i] is TDBEdit then TDBEdit(Components[i]).Color := $00FFE6E1; if Components[i] is TDBLookupComboBox then TDBLookupComboBox(Components[i]).Color := $00FFE6E1; if Components[i] is TDBMemo then TDBMemo(Components[i]).Color := $00FFE6E1; end; end; ... Dabei sollen alle Komponenten, solange die Checkbox gecheckt ist, weiß bleiben. d.h. auch beim weiteren Scrollen, blättern usw. Erst wenn die Checkbox wieder 'unchecked' ist, soll auch die Farbe der Komponenten wieder geändert werden.
Delphi-Quellcode:
Alleine der Aufruf von AutoEdit := ture ändert die Farben noch nicht.
...
begin if CheckBox2.Checked then DM1.DSPOS.AutoEdit := true else DM1.DSPOS.AutoEdit := false; end; ... Wie kann ich das am besten lösen? |
Re: OnStateChange Ereignis Problem
ruf doch die methode mit den entsprechenden parametern auf?
Delphi-Quellcode:
OnStateChange( {Paramter} );
|
Re: OnStateChange Ereignis Problem
OK, kannst du mir ein Beispiel zeigen.
Welchen Parameter kann ich hier verwenden? |
Re: OnStateChange Ereignis Problem
und zwar hast du doch geschrieben, dass du im OnStateChange-ereignis etwas machst. wenn du dir die methode anschaust, dann findest du du sicherlich selbst die nötigen informationen.
wenn ich die onclick-methode eines buttons aufrufen will, dann muss ich das wie folgt machen:
Delphi-Quellcode:
nun alles klar!? ;)
// dies ist die onclick-methode, die beim
// onclick eines buttons ausgeführt wird procedure TForm1.Button1Click(Sender: TObject); begin // Nachricht ausgeben showMessage('Es wurde auf den Button geklickt'); end; // So kann ich das OnClick des Buttons in einer // anderen Methode aufrufen procedure TForm1.TestMethode(); begin // "Virtueller Klick" auf den Button1 // Dies funktioniert aber wohl nur bei einem // TButton Button1.Click(); { ODER WIE FOLGT } // Direkter Aufruf der Methode Button1Click( Button1 ); // <-- hier musst du ein Sender vom Typ TObject übergeben. end; |
Re: OnStateChange Ereignis Problem
:xmas: War leider auswärts, und hatte keine Möglichkeit zu antworten.
Na klar. Jetzt hab ichs gelöst. Vielen Dank nochmal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 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