AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi OnStateChange Ereignis Problem
Thema durchsuchen
Ansicht
Themen-Optionen

OnStateChange Ereignis Problem

Ein Thema von needatip · begonnen am 22. Nov 2008 · letzter Beitrag vom 11. Dez 2008
 
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#1

OnStateChange Ereignis Problem

  Alt 22. Nov 2008, 10:47
Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO
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:
...
      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;
...
Jetzt hab ich auf dem Formular noch eine Checkbox mit der ich mittels AutoEdit meiner DataSource alle Komponenten auf sog. 'Dauerweiß' einfärben will.
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:
...
begin
  if CheckBox2.Checked then
     DM1.DSPOS.AutoEdit := true
  else
     DM1.DSPOS.AutoEdit := false;
end;
...
Alleine der Aufruf von AutoEdit := ture ändert die Farben noch nicht.
Wie kann ich das am besten lösen?
  Mit Zitat antworten Zitat
 


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 18:42 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