Hallo zusammen,
ich habe ein Problem. Ich möchte für ein Programm ein "Farbsetup" entwerfen, also für 4 verschiedene Programmteile die Farbe (Hintergrund und Text) einstellen. Für die Anzeige benutze ich Panels.
mit folgendem Code soll die Farbe nach drücken eines Buttons geändert werden :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TfrmOption.onColorClick(Sender: TObject); var nr:Integer; pnl:TPanel; f: TColor; txt: String; begin f := clWhite; with ColorDialog1 do begin if Execute(Self.Handle) then f := Color; end; nr := TButton(Sender).Tag; txt := 'pnlCol' + IntToStr(nr); pnl := TPanel(Self.FindComponent(txt)); if pnl<>nil then begin Self.Caption := pnl.Name + ' / Color : ' + IntToStr(f); pnl.ParentColor := false; pnl.Color := f; end; end; |
Es passiert aber rein gar nichts. Die Panels sind übrigens nicht per Code sondern manuell im Designfenster auf die Form gebracht worden.
Hat einer von Euch irgendeine Ahnung, woran das liegen kann.
Die Panels werden übrigens mit FindComponent gefunden, die Testzeile (Self.Caption...) wird nämlich ausgeführt.
Danke im Voraus
mtm
Editiert : Gott, bin ich ein Idiot. ParentBackground war noch auf True.