Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

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 15. Okt 2013 12:06

Bevel auf einem Rechteck
 
Hallo, ich mache gerade eine Komponente welche von TGraphicControl abgeleitet sein soll.

Frage:

Wie kann ich einen Bevel auf einem Rechteck darstellen ?

Jemand eine Ahnung ?

:wall:Chris

stahli 15. Okt 2013 12:16

AW: Bevel auf einem Rechteck
 
Schau Dir doch mal Paint von TPanel an.
Dort wird das ja gemacht.

DeddyH 15. Okt 2013 12:23

AW: Bevel auf einem Rechteck
 
Frame3D hast Du schon versucht?

Chris211183 15. Okt 2013 12:27

AW: Bevel auf einem Rechteck
 
:thumb: Nein, das hatter noch nicht gemacht, aber das wird gleich mal gemacht !

Danke, manchmal Hilft nen kleiner Denkanstoß !

Chris211183 15. Okt 2013 13:05

AW: Bevel auf einem Rechteck
 
Okay, hab mir das mal angesehen, wobei ich da nicht so wirklich was mit anfangen kann....

hab mir jetzt eine procedure geschrieben, bloß wie sag ich Ihm jetzt, dass er mir sowas dann auch zur Laufzeit auf den Schirm beamt ?

wie geht sowas ?

Am Ende soll ein 45x145 großes Rechteck zu sehen sein, wo in der Mitte so ein Frame drauf ist...

DeddyH 15. Okt 2013 13:30

AW: Bevel auf einem Rechteck
 
Liste der Anhänge anzeigen (Anzahl: 1)
Beispiel (TMyCompo ist von TGraphicControl abgeleitet, es wurde nur die Paint-Methode überschrieben):
Delphi-Quellcode:
procedure TMyCompo.Paint;
var
  R: TRect;
begin
  inherited;
  Canvas.Brush.Color := clYellow;
  Canvas.FillRect(Rect(0, 0, Width, Height));
  R := Rect((Width - 50) div 2, (Height - 50) div 2,
    (Width + 50) div 2, (Height + 50) div 2);
  Frame3D(Canvas, R, $00DADADA, clDkGray , 1);
end;
Somit wird das Ding gelb gefüllt, und in der Mitte erscheint so ein Frame mit Kantenlänge 50 Pixel, siehe Screenshot.

Chris211183 15. Okt 2013 13:40

AW: Bevel auf einem Rechteck
 
Alles klar,

super vielen Dank !!!:bounce2:

Chris

Chris211183 21. Okt 2013 09:28

AW: Bevel auf einem Rechteck
 
Hallo,

habe bis jetzt alles gut hinbekommen, bloß auf meinem Testformular wird nichts angezeigt.
kann leider keinen Code posten, da ich von hier grad nicht auf meinen Quellcode zugreifen kann :-/

Wie sah denn deine Testunit aus @DaddyH (damit ich meine vergleichen kann) ?

Habe auch die PaintMethode überschrieben und meine Werte alles gesetzt, auch wenn ich den Rest ausblende, damit mir nur mein Bevel angezeigt wird, machter Compiler nichts...
(egal was ich bis jetzt versucht habe, ...

Chris

DeddyH 21. Okt 2013 09:32

AW: Bevel auf einem Rechteck
 
Das müsste ungefähr so ausgesehen haben:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    FTest: TMyCompo;
  end;

...
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  FTest := TMyCompo.Create(self);
  FTest.Width := 200;
  FTest.Height := 200;
  FTest.Parent := self;
end;

himitsu 21. Okt 2013 09:42

AW: Bevel auf einem Rechteck
 
Zitat:

Beispiel (TMyCompo ist von TGraphicControl abgeleitet, es wurde nur die Paint-Methode überschrieben):
Bei der Deklaration der Methode hast du natürlich auch nicht das override vergessen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.
Seite 1 von 5  1 23     Letzte »    

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