AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DBEdit Farbe ändern bei ReadOnly - Welches Event
Thema durchsuchen
Ansicht
Themen-Optionen

DBEdit Farbe ändern bei ReadOnly - Welches Event

Ein Thema von mschaefer · begonnen am 13. Jun 2011 · letzter Beitrag vom 17. Jun 2011
 
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.033 Beiträge
 
Delphi 12 Athens
 
#5

AW: DBEdit Farbe ändern bei ReadOnly - Welches Event

  Alt 14. Jun 2011, 15:04
Hallo Stefan,

zunächst mal Danke. Du hast das doch mit Raffinesse garniert, denn so kann man mehrere Komponenten im DataSource.OnChange-Event aus umfärben.

Für meine Komponente hätte dies zur Folge gehabt, dass ich die Property-Zuweisungen für Datafield und Datasource hätte neu schreiben müsssen um mit der Zuweisung den Zeiger auf das DataSource.OnChange zu bekommen. Habe mich nun für einen anderen Weg entschieden:

Delphi-Quellcode:
constructor TC_DBMemo.Create(AOwner: TComponent);
begin
   inherited;
   { ...                    }
   FDataLink := TFieldDataLink(self.Perform(CM_GETDATALINK, 0, 0));
   PtrDataChange := FDataLink.OnDataChange;
   FDataLink.OnDataChange := OnNowDataChange;
end;

procedure TCR_DB_Memo.OnNowDataChange(Sender: TObject);
begin
   if DataSource <> nil then
      if DataSource.DataSet <> nil then
      begin
        if FDataLink.ReadOnly = true
        then color:=clwindows
        else color := clblue;
      end;
   ;
   PtrDataChange( Sender );
end;
Da Private OnDataChange dem DataLink nach dem inherited im Create zugewiesen ist, habe ich einen Pointer auf die Private-Procedure und kann den zwischenspeichern. Hätte wohl noch einen Weg über Interfaces gegeben, aber die Webseite kennst Du ja bestens.

Grüße aus Hannover
Martin Schaefer
  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 20:07 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