Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
Delphi 2006 Professional
|
Re: Statusbar Farbe eines Panels ändern
19. Sep 2005, 18:20
Hai Gambit,
hier noch ein Beispiel:
Delphi-Quellcode:
type
TForm1 = class(TForm)
.
private
status : integer;
end;
.
implementation
.
procedure TForm1.FormCreate(Sender: TObject);
begin
StatusBar1.Panels[1].Style := psOwnerDraw; // Panel 2 selber zeichnen
status := 1;
end;
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;
const Rect: TRect);
const
status_color : Array[1..3] of TColor = (clGreen,clYellow,clred);
begin
if Panel = StatusBar1.Panels[1] then // zweites Panel
begin
with StatusBar.Canvas do
begin
Brush.Color := status_color[status]; // Farbe aus dem Array
FillRect(Rect); // Mit der Farbe füllen
TextOut(rect.Left + 2, rect.Top + 2, panel.Text); // Textausgeben
end;
end;
end;
procedure TForm1.btn_IncStatusClick(Sender: TObject);
begin
if (status < 3) then
begin
Inc(Status);
end;
StatusBar1.Repaint;
end;
procedure TForm1.btn_DecStatusClick(Sender: TObject);
begin
if (status > 1) then
begin
Dec(Status);
end;
StatusBar1.Repaint;
end;
Stephan B. "Lasst den Gänsen ihre Füßchen"
|
|
Zitat
|