Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TButton in TCustomControl setzen (https://www.delphipraxis.net/61552-tbutton-tcustomcontrol-setzen.html)

K-Asche 23. Jan 2006 08:16


TButton in TCustomControl setzen
 
Hi @ all,

ich möchte einen TButton in mein selbst gezeichnets TCustomControl setzen.
Es wird aber nicht angezeigt.
Visible ist auf True, Parent ist Self;
Hier der Code:

Delphi-Quellcode:
Constructor TKaFontButton.Create(AOwner: TComponent);
Begin
  Inherited;
  FButton := TButton.Create(Self);
  FButton.Height := 15;
  FButton.Width := 15;
  FButton.Caption := 'H';
  FButton.Parent := Self;
End;

Procedure TKaFontButton.CreateWnd;
Begin
  Inherited;
  FButton.Left := Width - FButton.Width + 1;
  FButton.Top := Top + 1;
End;
Was mach ich falsch?
Als Hinweis vielleicht noch, dass CustomControl zeichne ich über die Paint - Methode.

Delphi-Quellcode:
Procedure TKaFontButton.Paint;
Begin
  Inherited;
  Canvas.Pen.Color := clBlack;
  Canvas.MoveTo(0,0);
  Canvas.LineTo(0, Height - 1);
  Canvas.MoveTo(0, Height - 1);
  Canvas.LineTo(Width - 17, Height - 1);
  Canvas.MoveTo(Width - 17, Height - 1);
  Canvas.LineTo(Width - 17, 0);
  Canvas.MoveTo(Width - 17, 0);
  Canvas.LineTo(0, 0);
  Canvas.Brush.Color := clBlack;
  Canvas.FillRect(Rect(2,2,Width - 17, Height - 2));
End;
Lieben Gruß
Karsten

Kroko1999 23. Jan 2006 10:28

Re: TButton in TCustomControl setzen
 
Setze mal die Position des Buttons in Resize (überschreiben)!

K-Asche 23. Jan 2006 11:09

Re: TButton in TCustomControl setzen
 
Funktioniert auch nicht.

Kroko1999 23. Jan 2006 11:14

Re: TButton in TCustomControl setzen
 
dann probiere mal in Create folgendes:
Delphi-Quellcode:
var
  R: TControlClass;
begin
  R := TControlClass (TButton);
  TControl (FButton) := R.Create (Self);
  FButton.Parent := Self;
...
end;

K-Asche 23. Jan 2006 11:49

Re: TButton in TCustomControl setzen
 
Auch keine Anzeige!

Kroko1999 23. Jan 2006 12:03

Re: TButton in TCustomControl setzen
 
Delphi-Quellcode:
Procedure TKaFontButton.CreateWnd;
Begin
  Inherited;
  FButton.Left := Width - FButton.Width + 1;
  FButton.Top := 1; // Top schiebt es auch dem Anzeige bereich, im Control beginnt Canvas wieder bei (0;0)
End;

K-Asche 23. Jan 2006 12:16

Re: TButton in TCustomControl setzen
 
:wall: Wer möchte kann mich jetzt erschießen :wall:
danke @Kroko

Kroko1999 23. Jan 2006 12:29

Re: TButton in TCustomControl setzen
 
:mrgreen: PENG :mrgreen:

K-Asche 23. Jan 2006 12:30

Re: TButton in TCustomControl setzen
 
:witch:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.

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