Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Bevel auf einem Rechteck (https://www.delphipraxis.net/177088-bevel-auf-einem-rechteck.html)

Chris211183 22. Okt 2013 11:03

AW: Bevel auf einem Rechteck
 
:witch: jetzt ja


:wall:

ohhh mannnn eyyyyyyyyyy


Danke :lol::lol::lol::lol:

Chris211183 23. Okt 2013 10:17

AW: Bevel auf einem Rechteck
 
Sodele, alles funzt in meier Komponente, nur wenn ich meinen Rahmen größer ziehe, bleibt mein Bevel in der Größe und vergrößert sich nicht mit...


Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
   R: TRect;

begin
  inherited paint;
  if (Parent = NIL) or not visible
  then exit;
 
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(0, 0, Width, Height));
  R := Rect((Width - 9) div 2, (Height - 133) div 2,
  (Width + 9) div 2, (Height + 133) div 2);
  Frame3D(Canvas, R, clBtnShadow ,clBtnHighlight , 1);
kann ich das einfach lösen (mit if else Anweisungen) oder muss ich da noch ewig rumdoktern :?:

baumina 23. Okt 2013 10:33

AW: Bevel auf einem Rechteck
 
Rechne einfach nicht wie wild die Koordinaten für dein Rectangle aus, sondern nimm einfach nur

Delphi-Quellcode:
R := Rect(1, 1, Width - 1, Height - 1);

DeddyH 23. Okt 2013 10:47

AW: Bevel auf einem Rechteck
 
Du könntest SetBounds überschreiben und darin Invalidate aufrufen.

Chris211183 23. Okt 2013 10:50

AW: Bevel auf einem Rechteck
 
@Baumina, dann hätte ich ja nur ein Rahmen den ich verändern kann, ich habe aber einen Rahmen auf einem Rechteck, welcher sich mit vergrößerung des Rechteckes auh proportional verändern soll.

@DeddyH, nein habe ich nicht, das sagt mir auch nichts :|

DeddyH 23. Okt 2013 10:52

AW: Bevel auf einem Rechteck
 
Delphi-Quellcode:
type
  THixBarGraph = class(TGraphicControl)
  ...
  public
    procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
    ...
  end;

...

procedure THixBarGraph.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
  inherited;
  Invalidate;
end;

baumina 23. Okt 2013 10:59

AW: Bevel auf einem Rechteck
 
Meiner Meinung nach verhält sich ist mein Vorschlag proportional zur Größe des Rechtecks:

Delphi-Quellcode:
procedure THixBarGraph.Paint;
var
   R: TRect;

begin
  inherited paint;
  if (Parent = NIL) or not visible
  then exit;
 
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(0, 0, Width, Height));
  // so hast du es im Moment :
             // Links = (Width - 9) div 2
                               // Oben = (Height - 133) div 2
  R := Rect((Width - 9) div 2, (Height - 133) div 2,
             // Rechts = (Width + 9) div 2
                               // Unten = (Height + 133) div 2
            (Width + 9) div 2, (Height + 133) div 2);
  // und so wäre mein Vorschlag:
            // 1 Links innerhalb vom Rechteck
               // 1 Oben innerhalb vom Rechteck
                  // Rechts die Breite vom Rechteck-1
                            // Unten die Höhe von vom Rechteck-1
  R := Rect(1, 1, Width - 1, Height - 1);
  Frame3D(Canvas, R, clBtnShadow ,clBtnHighlight , 1);

Chris211183 23. Okt 2013 11:02

AW: Bevel auf einem Rechteck
 
Probiers mal aus !

Vielen Dank euch Beiden !!!

bcvs 23. Okt 2013 11:04

AW: Bevel auf einem Rechteck
 
Dann darsft du halt nicht mit absoluten Werten rechnen (Height - 133) sondern musst alle Werte mit einem Faktor von Width und Height ableiten, z.B. so:

Delphi-Quellcode:
 R:=Rect (Width div 3, Height div 3, Width - Width div 3, Height -  Height div 3);

Chris211183 23. Okt 2013 11:20

AW: Bevel auf einem Rechteck
 
:thumb::thumb::thumb:

habs hinbekommen !!!

:P


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz