Entwickler-Ecke

LCL-Komponenten - Styling (wie Windows 3.1)?


hydemarie - Mo 15.02.16 19:21
Titel: Styling (wie Windows 3.1)?
Hallo,

ich würde gern eine Anwendung in Lazarus (oder Delphi, wenn es nicht anders geht) schreiben, die Buttons besitzt, wie Windows 3.1 sie hatte.

Siehe: http://images.pcworld.com/images/article/2012/04/windows31_09-11344037.jpg

Ist das mit LCL (oder Delphi) möglich?


jaenicke - Mo 15.02.16 20:00

Das gibt es vermutlich nicht fertig, wenn du wirklich 3.1 und nicht Windows 9x meinst. Da es diesen Style in Windows auch nicht mehr gibt, bleibt vermutlich nur die Buttons selbst zu zeichnen.

Unter Delphi könnte man dafür ein Theme entwerfen. Da der Bedarf dafür sehr gering sein dürfte, würde auch da wohl nur selber machen bleiben.


hydemarie - Mo 15.02.16 20:30

Damit könnte ich ja leben. Wie geht das? :D


jaenicke - Mo 15.02.16 22:02

Die einfachste und schnellste Lösung wäre einfach statt Buttons TImage Komponenten zu benutzen und dort Bilder der Buttons einzusetzen. Sprich den Buttonhintergrund aus einem Screenshot zu nehmen und dann einfach den Text mit Paint, Paint.net oder ähnlichem drauf zu setzen.

Dann kannst du auf OnMouseDown bzw. OnMouseUp reagieren um erstens beim Druck nach unten ein entsprechendes Bild anzuzeigen und zweitens um beim Loslassen die Aktion für den Button auszuführen.


hydemarie - Mo 15.02.16 22:04

Ich hatte gehofft, da könnte ich einfach wie in Qt einen Style "schreiben". Mist. :)

Vielen Dank!


jaenicke - Di 16.02.16 03:44

Bei Lazarus gibt es so etwas meines Wissens nicht. Bei Delphi gibt es seit ein paar Jahren (XE2) die VCL Themes, mit denen genau das möglich ist.


hydemarie - Di 16.02.16 08:56

Das sieht prima aus, danke. :)