Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeichnet (https://www.delphipraxis.net/107624-gdiroundbutton-eine-runde-button-kompo-mit-gdi-gezeichnet.html)

DeddyH 30. Jan 2008 20:25


GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeichnet
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich stelle hier mal meinen runden/elliptischen Button online. Dieser wird unter Verwendung von GDI+ gezeichnet, die entsprechenden Units sind im Archiv enthalten. Ich würde gerne Eure Meinung dazu hören. Für diejenigen, die noch ein OS unterhalb Windows XP verwenden: die entsprechende DLL gibt es als Redistributable direkt bei Microsoft.

Features:
- AntiAliasing (der Button wirkt richtig "rund")
- freie Auswahl der Farbe
- Auswahl zwischen (noch) 2 verschiedenen Layouts: "membrane" oder "bubble"
- Auswahl zwischen 2 verschiedenen Fokus-Darstellungen: ftCaption (umrandet die Beschriftung) und ftCorona (umrandet den gesamten Button in gelb)

Was nicht geht:
- Accelerators: bei Eingabe von z.B. &OK wird weder das O unterstrichen noch reagiert die Komponente auf ALT-O
- automatische Erkennung der Hintergrundfarbe: diese sollte über die Eigenschaft TransparentColor manuell gesetzt werden sollte jetzt funktionieren (ParentColor und ParentBackground sind nun auf true gesetzt)

Änderungen:
- die Property Color ist nun verborgen, bitte die neue Property FillColor verwenden
- das Offset zum Rand ist etwas vergrößert worden, dadurch wird der sichtbare Bereich zwar etwas kleiner, aber das AntiAliasing hat "mehr Spiel"

Bugfix:
- durch einen kleinen Denkfehler meinerseits war es zumindest optisch möglich, dass mehrere Instanzen den Fokus hatten.

bitsetter 30. Jan 2008 22:50

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Moin,

habe deinen TGDIPlusRoundButton (ein noch längerer Name ist dir wohl nicht eingefallen :stupid:) mal installiert.
Von der graphischen Qualität sieht er ja schon mal sehr gut aus.

Logischerweise dürfte doch nur ein Klick- Ereignis ausgeführt werden, wenn man innerhalb des Buttons klickt und nicht schon wenn man danebenklickt. Man merkt also bei deinem Button gleich, dass du nicht mit Regionen oder sowas in der Art gearbeitet hast.

Edit: Der Button wird auch optisch betätigt, wenn man in eine Ecke des Rechteckes klickt welches den Rand des Buttons tangiert.
Edit2: Beim Klicken flackert es noch ein bisschen.

Hansa 30. Jan 2008 23:02

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Kein Wunder, der Button sieht rund aus, ist aber in Wirklichkeit eben ein Rechteck (siehe TRect).

P.S.: zeige mal noch einen elliptischen.

bitsetter 30. Jan 2008 23:11

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ist ja jetzt offensichtlich, aber er kann doch die Maske des Bildes (falls es eine hat) beim klicken abfragen.

Edit: Das Bild sieht wohl ein bisschen streifig aus. :oops:

lbccaleb 31. Jan 2008 06:08

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
muss ich auch sagen, sieht schon sehr schick aus der button!! :thumb: :thumb:

DeddyH 31. Jan 2008 07:09

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Zuerst einmal Danke für die Reaktionen. Mit den Regions habt Ihr mich auch gleich auf dem linken Fuß erwischt. Daran gedacht hatte ich schon, aber dann vergessen, es einzubauen :oops: , kommt aber noch ;)

Hansa 31. Jan 2008 08:46

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Das ist ein Schwachpunkt der Sache. Bin mal gespannt, auf welche Art du die Grafik richtig rund machst. Die nächste Schwiergkeit ist, wer macht die Grafik ? Ich bräuchte bestimmt 50 Buttons.

DeddyH 31. Jan 2008 17:33

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
So, Clipping ist eingebaut. Download im ersten Post.

DeddyH 3. Feb 2008 19:03

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Neue Version (inkl. Screenshots) unter dem ersten Post verfügbar.

DeddyH 4. Feb 2008 18:42

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Ab sofort werden auch die Tasten Space und Return ausgewertet ;) (mei, bin i deppert :mrgreen: )

DeddyH 6. Feb 2008 19:06

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Könnte sich nochmal jemand erbarmen und sich die neueste Version mal anschauen (speziell Hansa :mrgreen: )?

rollstuhlfahrer 6. Feb 2008 19:22

Re: GDIRoundButton - Eine runde Button-Kompo GDI+
 
optisch siehts schon ganz gut aus. wenn ich morgen dazu komm, werde ich ihn mal auf Herz und Nieren testen... (Runde Buttons machen ein Programm optisch viel besser. siehe Win-MediaPlayer)

rollstuhlfahrer

DeddyH 6. Feb 2008 19:23

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Danke Dir.

[edit] Habe gerade noch einen kleinen Fehler entdeckt, bitte nochmal aktualisieren (#1) [/edit]

bitsetter 6. Feb 2008 22:35

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Zitat:

Zitat von Hansa
Die nächste Schwiergkeit ist, wer macht die Grafik ? Ich bräuchte bestimmt 50 Buttons.

Nun ja, bei 50 Buttons merkt man beim Programmstart schon eine deutliche Verzögerung, aber soviel braucht man ja normalerweise nicht.
Mit dem DrawTyp bubble und GammaCorrection sehen die Buttons nun noch viel plastischer aus. :thumb:
Das Abfragen der Regions beim Klicken klappt jetzt wohl auch soweit.

Hansa 6. Feb 2008 23:38

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Zitat:

Zitat von bitsetter
..Nun ja, bei 50 Buttons merkt man beim Programmstart schon eine deutliche Verzögerung, aber soviel braucht man ja normalerweise nicht...

Wirklich ? Aber selbst wenn, wen interessiert denn, ob der Programmstart 1 Sek. oder 5 dauert ? Und wer lädt schon 50 Formulare mit 50 Buttons auf einmal ? Mir ging es um den Entwurf dieser Buttons, sofern eine "richtige Grafik" dahintersteckt.

Zum Thema : die Dinger sind echt super geworden. :thumb: Gestern gelang es mir allerdings nicht, die entzippten Dateien zu installieren. Und ich blicke nicht so recht mit dem GDI-Zeug durch. Muss da jetzt eine DLL mitgeliefert werden oder wie, wann, wo ? :shock:

P.S.: wo genau muss welche Datei hin ?

DeddyH 7. Feb 2008 07:11

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Also, das Archiv enthält ja unter GDI+ (die darin enthaltenen Dateien stammen nicht von mir!) einen Ordner mit Namen "pas". Dieser Ordner muss in den Suchpfad aufgenommen werden, genauso wie die Hauptunit. Wer Lust hat, kann ja mal eine schöne *.dcr für die Kompo erstellen ;)

bitsetter 7. Feb 2008 08:24

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Zitat:

Zitat von Hansa
Und ich blicke nicht so recht mit dem GDI-Zeug durch. Muss da jetzt eine DLL mitgeliefert werden oder wie, wann, wo ? :shock:

P.S.: wo genau muss welche Datei hin ?

Bei Win9X zum Beispiel sollte man die GDIPLUS.DLL schon mitliefern und in das System- oder Programmverzeichnis kopieren ansonsten wird dein Programm nicht starten.

DeddyH 7. Feb 2008 08:47

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Genau, bei allen Systemen unterhalb Windows XP ist die GDIPLUS.dll nicht im Lieferumfang, sie darf aber weitergegeben werden (siehe Link im ersten Post).

[edit] Hansa, was meinst Du mit "richtiger" Grafik? Gibt es auch falsche? [/edit]

rollstuhlfahrer 7. Feb 2008 18:09

Re: GDIRoundButton - Eine runde Button-Kompo GDI+
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab da dann gleich die dpk-Datei gemacht, aber da gibts noch ein Problem: das nette Icon in der Delphi-IDE. Ansonsten gibts keine Probleme. Verzeih mir, dass ich den Palettennamen in Zusätzlich geändert hab. sonst ist dur das unbedingt benötigte dabei.

rollstuhlfahrer

DeddyH 7. Feb 2008 18:15

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Super, Danke Dir. Das mit dem Palettennamen ist überhaupt kein Problem, ich packe meine eigenen Kompos nur immer in meine eigene Palette, das hatte ich wohl vergessen zu ändern :angel2: . Tja, die *.dcr hatte ich bereits angesprochen, aber da ich kein Grafiker bin, möchte ich das lieber jemand anderen machen lassen (sähe mit dem Bildeditor erstellt wohl auch nicht so toll aus).

rollstuhlfahrer 7. Feb 2008 18:57

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Liste der Anhänge anzeigen (Anzahl: 1)
die dcr-Datei hab ich jetzt fertig (bin aber auch kein Grafiker), kann sie aber nicht in das Package hinzufügen.

rollstuhlfahrer

DeddyH 7. Feb 2008 19:43

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Ich kümmer mich drum, aber nicht mehr heute. Danke Dir nochmals :thumb:

DeddyH 8. Feb 2008 17:01

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
So, das vorerst letzte Update ist im ersten Post verfügbar. Falls niemand Vorschläge oder Bugreports hat, lasse ich die Kompo so, wie sie ist, es sei denn, mir fällt selbst noch etwas ein :mrgreen:

DeddyH 19. Feb 2008 18:27

Re: GDIRoundButton - Eine runde Button-Kompo mit GDI+ gezeic
 
Doch noch ein Update (siehe Post #1).


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