Autor Beitrag
OcculsuInfernuM
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 06.01.07 19:17 
also ich habe einen panel von dem ich gern die farbe ändern würde...

gedacht habe ich mir das per popupmenü

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.red1Click(Sender: TObject);
begin
panel1.Brush.canvas.clred
end;


aber canvas erkennt er nicht an (rot unterstrichen)

was kann man da machen

oder gibs ne andere möglichkeit das panel zu färben?

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Delphi) verschoben am Sa 06.01.2007 um 18:20


Zuletzt bearbeitet von OcculsuInfernuM am Sa 06.01.07 19:50, insgesamt 1-mal bearbeitet
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 06.01.07 19:22 
Ja, mit Panel1.Color := clRed; geht es auch ;-)

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 06.01.07 19:33 
Wobei das nicht mehr funktioniert, wenn man die Anwendung durch ein XP-Manifest im XP-Stil haben will.

Da hilft dann wohl nur selberzeichnen, und weil das Panel weder die Eigenschaft Canvas noch ein OnPaint-Event besitzt (zumindest bei Delphi7), muss man sich da ne eigene Klasse ableiten.

_________________
We are, we were and will not be.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 06.01.07 19:47 
Oder aber man ist klug und zieht einfach ein Shape drüber ;-)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  Shape: TShape;
begin
  Shape := TShape.Create(Panel1);
  Shape.Parent := Panel1;
  Shape.Name   := 'Shape';
  Shape.Brush.Color := clRed;
  Shape.Pen.Color   := clRed;
  Shape.Align := alClient;
end;

Freigeben nicht vergessen, oder eben schon zur Designzeit aufs Panel legen.


EDIT: Um es deutlich zu sagen: Besser ist natürlich der Vorschlag von Gausi, aber vllt. für Anfänger nicht ganz einfach. Solltest du, OcculsuInfernuM, mehre Panels färben wollen und XPManifest verwenden, dann solltest du dich an den Vorschlag von Gausi halten.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Coder
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1383
Erhaltene Danke: 1

WinXP
D2005 PE
BeitragVerfasst: Sa 06.01.07 20:24 
user profile iconGausi hat folgendes geschrieben:
Wobei das nicht mehr funktioniert, wenn man die Anwendung durch ein XP-Manifest im XP-Stil haben will.

Doch.
Einfach ParentBackground auf false.

MfG
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 06.01.07 20:37 
Geht aber AFAIK erst ab Delphi 2005 oder 2006...

// EDIT: Genau:
Delphi 7: ParentBackground nutzt nix
Delphi 2005: Da gehts mit ParentBackground
Delphi 2006: Da gehts auch

Ich hab das übrigens nur per Zufall bei Delphi 2005 PE herausgefunden, als ich das circa 4 Wochen hatte. Sonst wäre ich nie drauf gekommen, dass es da plötzlich geht... ;-)
OcculsuInfernuM Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: So 07.01.07 15:54 
ok danke euch habs hinbekomen