Thema: Delphi Tedit disabled

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#25

Re: Tedit disabled

  Alt 14. Aug 2003, 10:09
Ich mal ganz anderen Weg!

Das was du möchtest macht Windows schon als Standard!
Will man das beeinflussen muss man
(WM_)CN_CTLCOLOREDIT Wenn Normal
und
CN_CTLCOLORSTATIC wenn Disabled oder ReadOnly
abfangen.

So hab ich es bei mir abgeändert...

Delphi-Quellcode:
  private
    procedure CNCtlColorStatic(var Message : TWMCtlColor); message CN_CTLCOLORSTATIC;

procedure TPWEdit.CNCtlColorStatic(var Message: TWMCtlColor);
begin
  inherited; // mache Standard
  with Message do
    // für deinen Fall Enabled prüfen
    // und mittels SetTextColor den Farbwert ändern
    // wie gesagt das ist Windows-Standard
    if ReadOnly and (Parent <> nil) then
       begin
         Result := Parent.Brush.Handle;
         SetBkColor(ChildDC, ColorToRGB(Parent.Brush.Color));
       end;
end;
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat