Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Button selber zeichnen auf PaintBox (https://www.delphipraxis.net/63230-button-selber-zeichnen-auf-paintbox.html)

mOzZzI 15. Feb 2006 18:02


Button selber zeichnen auf PaintBox
 
Hallo,

ich wollte mal fragen, wie ich selber einen Button zeichne, und das auf der PaintBox, oder kann ich das auch auf die Form drauf zeichnen? Habe da überhaupt keine Ahnung davon...

Gruß Philipp

R2D2 15. Feb 2006 18:07

Re: Button selber zeichnen auf PaintBox
 
Du kannst generell auf die Form mit ihrer Eigenschaft Canvas zeichnen. Z.B. Text:
Delphi-Quellcode:
Canvas.textout('Test')
Das Windows-Button design hinzubekommen ist aber sehr schwer. Einen einfachen Button zeichnest du so:
Delphi-Quellcode:

  if Checked = true then
  begin
    for i := 1 to 3 do
    begin
      Canvas.Pen.Color := clBlack;
      Canvas.RoundRect (0+i-1, 0+i-1, Width-3+i, Height-3+i, ellip, ellip);
    end;
    Canvas.TextOut((Width-Canvas.TextWidth(Caption)) div 2 + 2, (Height-Canvas.TextHeight(Caption)) div 2 + 2, Caption);
  end;
  if Checked = false then
  begin
    for i := 1 to 3 do
    begin
      Canvas.Pen.Color := clBlack;
      Canvas.RoundRect (0, 0, Width-3+Convert(i), Height-3+Convert(i), ellip, ellip);
    end;
    Canvas.TextOut((Width-Canvas.TextWidth(Caption)) div 2, (Height-Canvas.TextHeight(Caption)) div 2 , Caption);
  end;
Dieser Button besitzt in der Eigenschaft ellip noch eine Rundung (Eckig bei ellip = 0)

mOzZzI 15. Feb 2006 18:16

Re: Button selber zeichnen auf PaintBox
 
Geht das auch einfacher?

R2D2 15. Feb 2006 18:18

Re: Button selber zeichnen auf PaintBox
 
Ich glaube nicht. Warum nimmst du nicht einfach einen TButton???

mOzZzI 15. Feb 2006 18:20

Re: Button selber zeichnen auf PaintBox
 
Ja, ich möchte den TButton "umformen", aber nicht mit dem XPManifest, sondern halt selber machen...

Flocke 15. Feb 2006 19:34

Re: Button selber zeichnen auf PaintBox
 
Schau mal in die Anhänge bei diesem Beitrag. Alternativ schau dir die Dokumentation der Funktion MSDN-Library durchsuchenDrawFrameControl an, insbesondere mit den Parametern DFC_BUTTON / DFCS_BUTTONPUSH.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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