Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigene Buttons erstellen (https://www.delphipraxis.net/38148-eigene-buttons-erstellen.html)

St.Pauli 15. Jan 2005 13:07


Eigene Buttons erstellen
 
Hi @ all,

ich will ein Programm mit einem eigenen Design machen, also wo ich zum Beispiel die Windows-Titelleiste wegmache, und ne Bitmap hinsetzte. Die Titelleiste klappt schon wunderbar, nun will ich aber noch eigene Buttons machen.
So nach dem Motto:

Normaler Button :arrow: Bitmap1
MouseOver Button :arrow: Bitmap2
OnKlick Button :arrow: Bitmap3

Also nicht das so der Code aussehen soll, sondern nur so eine kleine Tabelle als überblick wie das werden soll.

Habt ihr ne Idee wie ich das hinbekomme?
:?: :?: :?:

Bernhard Geyer 15. Jan 2005 13:16

Re: Eigene Buttons erstellen
 
Du könntest ElPack nehmen und die unabhängig von Windows XP funktioniertende Themes Engine nehmen.

Du definiertst dir eine XP-Theme und läds es mit Hilfe vom ElPack für dein Programm. Dies Funktioniert ab Win98.

St.Pauli 15. Jan 2005 13:41

Re: Eigene Buttons erstellen
 
Hi, hat ich schon ma ausprobiert, so ein Prog. Fand ich aber viel zu umständlich!
Dachte es geht irgendwie mit Image.

Bernhard Geyer 15. Jan 2005 13:47

Re: Eigene Buttons erstellen
 
TBitButton hat ein Property Glyph. Dort kann ein Image (bestehend aus mehren Unterimages), welche für jeden Zustand des Buttons ein Teil des Images darstellt. Schau einfach in der Hilfe nach TBitBtn.Glyph.

St.Pauli 15. Jan 2005 14:11

Re: Eigene Buttons erstellen
 
OK, hab mir ma eben dieses Prog runtergeladen.

Wie kann man da einen XP-Theme einfügen?

s.h.a.r.k 15. Jan 2005 17:11

Re: Eigene Buttons erstellen
 
Tach!

Hatte auch schon solch ein Problem! Habs dann so gelöst:

1. Hatte eine ImageList in der die Bilder für den Button waren (bei einem Button also 3 Bilder)
2. Hatte ein Image
3. Hatte ein Label über das Image gepackt, das genauso groß und transparent war.

Nun musst du nur noch schauen wo du die beim Label reinpacken musst! Ich glaube das sah wie folgt aus:

OnMouseDown - Bild anzeigen für OnClick
OnMouseEnter - Bild anzeigen für OnMove
OnMouseLeave - Standard-Bild anzeigen
OnMouseUp - Bild anzeigen für OnMove

Das Bild lädst du z.B. halt dann wie folgt:
Code:
proceduer TForm1.Labe11MouseDown(Sender: TObject);
begin
 ImageList1.GetBitmap(2, Image1.Picture.Bitmap);
 Image1.Repaint;
end;
Ich glaube so sollte das ganze gehen

Bernhard Geyer 15. Jan 2005 17:29

Re: Eigene Buttons erstellen
 
Zitat:

Zitat von St.Pauli
OK, hab mir ma eben dieses Prog runtergeladen.

Wie kann man da einen XP-Theme einfügen?

Meinst Du jetzt ElPack?

Lade dir die Demos auch herunter. Dort ist auch ein Beispiel zu Theming vorhanden.


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