Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#31

AW: Bevel auf einem Rechteck

  Alt 23. Okt 2013, 11:26
Ich würde es insgesamt etwas aufräumen:

Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
  R: TRect;
  H, W: Integer;
begin
   inherited; // "paint;" KANN entfallen - benötigt wird das nur Funktionen: Result := inherited MyFunction(MyParam);
   if (Parent = nil) or (not Visible) then
     Exit;
   
   Canvas.Brush.Color := clBtnFace;
   Canvas.FillRect(Rect(0, 0, Width, Height));

   H := (Height div 10) div 2; // wenn die Bevelhöhe z.B. 1/10 sein soll
   W := (Width div 10) div 2;
   R := Rect((Width div 2) - W, (Height div 2) - H,
             (Width div 2) + W, (Height div 2) + H);

   Frame3D(Canvas, R, clBtnShadow ,clBtnHighlight , 1);
Dann hast Du zwar zwei Variablen mehr, aber das Ganze wird m.E. etwas übersichtlicher und bei späteren Änderungen versteht man den eigenen Code besser.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Okt 2013 um 11:48 Uhr)
  Mit Zitat antworten Zitat