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 Design (https://www.delphipraxis.net/12004-button-design.html)

Hades 18. Nov 2003 16:59


Button Design
 
hi,

also ich bin neu hier und stell gleich mal ne frage.
ich würde gerne wissen, wie ich das design der buttons verändern kann. mir schwebt zum beispiel vor das ich 4 buttons habe, die zusammen einen kreis ergeben und farbig sind oder ein bild haben und wobei halt der teil außerhalb des kreises nicht angeklickt werden kann sodass man dann direkt aufs formular klickt. ich hoffe ihr wisst, was ich meine. so eine art skin halt wie bei winamp oder wmp das ich halt nicht ständig diese quadratischen grauen buttons benutzen muss und die anwendung grafisch was auffrischen kann.

schonmal danke

ciao hades

Die Muhkuh 18. Nov 2003 17:02

Re: Button Design
 
Hi und willkommen ín der DP :dp:


Soweit mir bekannt ist kann man das mit den Standart komponenten nicht machen. Da müsstest du mal nach Kompos im netz suchen!


[Edit] das war mein 400 Beitrag [/edit]

devnull 18. Nov 2003 17:07

Re: Button Design
 
Hi,

du könntest auch ein Bild als Button benutzen. Einfach das "OnClick-Ereignis" des Bildes dazu verwenden.
Wie du verhindern kannst, das neben dein BildButton geklickt wird (ein Bild ist hier ja ein Rechteck oä), weis ich auch nicht !


:kotz: Vielleicht die HintergrundFarbe an der Mausposition abfragen ???!!!

devnull

Thunderchild 18. Nov 2003 17:16

Re: Button Design
 
Mache Dir ein tImage und setze das Bild rein. Wenn Du das nicht Benutzerdefiniert machen willst (also unveränderbar), kannst Du über onMouseDown die Koordinate des Klicks im Element ermitteln und dann in der Ereignisprozedur errechnen, ob der Klick im Kreis ist, z.B. über eine Abstandsberechnung zum Kreismittelpunkt.

Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
const mx=50; my=50; // Beispiel-Koordinaten des Mittelpunkts im Element
var abstand:real;
begin
  abstand:=sqrt((mx-x)*(mx-x)+(my-y)*(my-y)); // Pythagoras
  if abstand<30 then aktionAusfuehren        // 30 als Beispielradius
end;

himitsu 18. Nov 2003 18:04

Re: Button Design
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das Demo ist nicht optimiert.
Zum Beispiel muss noch verhindert werden, dass das Image nur neu gezeichnet wird, wenn sich das Bild ändert.

Alexander 19. Nov 2003 15:58

Re: Button Design
 
Habe es nicht ausprobiert, aber mit CreateRoundRectRgn() müsste man auch die Buttons rundmachen können....
Such hier einfach mal nach:
Hier im Forum suchenCreateRoundRectRgn


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