Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Zeichnen von CustomPanel funzt nicht!

  Alt 2. Jun 2007, 12:29
Hallo,

die Rahmen werden nicht gezeichnet, weil du Pen.Style für das Zeichnen des Rechtecks auf den Wert psClear gesetzt hast. Vielleicht solltest du zunächst die Rahmen zeichnen und danach das Innere mit FillRect füllen:

Delphi-Quellcode:
procedure TMenuButton.Paint;
var
  R: TRect;
  ActiveBevel: TBevel;
begin
  R := Rect(0, 0, Width, Height);
  Canvas.Pen.Style := psSolid;

  if Hover
    then ActiveBevel := HoverBevel
    else ActiveBevel := Bevel;

  if (ActiveBevel in [bRaised, bInside]) then
    Frame3D (Canvas, R, Highlight, Shadow, BevelWidth);

  if (ActiveBevel in [bLowered, bInside]) then
    Frame3D (Canvas, R, Shadow, Highlight, BevelWidth);

  Canvas.Brush.Color := Color;
  Canvas.Brush.Style := bsSolid;
  Canvas.FillRect (R);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat