Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Buttons optisch darstellen


OliverN_26 - Do 20.01.11 04:03
Titel: Buttons optisch darstellen
Hi

Wie ist es eigentlich möglich Buttons so schön optisch in die Form einfliessen zu lassen ? :roll:
So dass man im ersten augenblick eigentlich gar nicht sieht dass es ein Button ist, sondern nur das Button-Bild sieht.
Dann ändert sich der Button bei MouseOver und wenn man ihn klikt gibt es widerum einen weiteren Status.
Im Anhang hab ich mal Ausschnitte aus dem ein oder anderen Programm gemacht damit klar ist was ich meine.

Danke


jaenicke - Do 20.01.11 06:45

Mit normalen Buttons geht das nicht.

Du kannst eine eigene Komponente schreiben und darin selbst zeichnen, du kannst fertige dafür suchen, du kannst eine TPaintBox nehmen und darauf zeichnen...
Letzteres siehst du hier:
http://www.delphi-forum.de/viewtopic.php?p=557541
Und eine eigene Komponente (nicht schön geschrieben, ist schon was älter :oops:):
http://www.delphi-forum.de/viewtopic.php?t=64090


Martok - Do 20.01.11 07:50

Oder du verwendest TSpeedButton und setzt Flat auf true, das was jaenicke da vorschlägt hat Borland nämlich schonmal gemacht ;)

Einziges Problem: Die Buttons sind dann nicht per Tastatur ansteuerbar. Für Werkzeugleisten eher kein Problem, da gibts eh meist Tastenkürzel im Menü zu. Im normalen UI kann das aber durchaus zu einem Problem werden.


OliverN_26 - Do 20.01.11 08:46

Wenn ich FLAT auf TRUE setze wird der Button durchsichtig .. selbst wenn ich TRANSPARENT raus nehme habe ich trotzdem noch den Trennbalken zwischen den Buttons. Und genau DEN will ich eben nicht sehen!