Button und mehrere Grafiken

Rund um die LCL und andere Komponenten
Antworten
ufkpra2
Beiträge: 32
Registriert: Fr 14. Mai 2010, 14:47
CPU-Target: i386
Wohnort: Ulm

Button und mehrere Grafiken

Beitrag von ufkpra2 »

Hallo,

für einen Speedbutton bräuchte ich mehrere Zustände, sprich die Grafik des Buttons soll sich ändern. Leider kann man nur ein Glyph in den Button Properties ablegen.
Wie mache ich das nun am geschicktesten, ohne dem fertigen Programm extra weitere Dateien beilegen zu müssen.

Danke schonmal im Vorraus.

khh
Beiträge: 489
Registriert: Sa 5. Apr 2008, 09:37
OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
CPU-Target: 32Bit /64 Bit
Wohnort: Nähe Freiburg i.Br.

Re: Button und mehrere Grafiken

Beitrag von khh »

ufkpra2 hat geschrieben:Hallo,

für einen Speedbutton bräuchte ich mehrere Zustände, sprich die Grafik des Buttons soll sich ändern. Leider kann man nur ein Glyph in den Button Properties ablegen.
Wie mache ich das nun am geschicktesten, ohne dem fertigen Programm extra weitere Dateien beilegen zu müssen.

Danke schonmal im Vorraus.
zur Laufzeit die Propertie ändern.
Gruss KHH

ufkpra2
Beiträge: 32
Registriert: Fr 14. Mai 2010, 14:47
CPU-Target: i386
Wohnort: Ulm

Re: Button und mehrere Grafiken

Beitrag von ufkpra2 »

*g*

Woher nehm' ich dann das andere Glyph?

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Button und mehrere Grafiken

Beitrag von Targion »

1) Aus einer Datei laden
2) Aus einer Resource laden

martin_frb
Beiträge: 588
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Button und mehrere Grafiken

Beitrag von martin_frb »

TImageList ?

Oder aber, wenn du nur die unten stehenden ButtonStates brauchst:

Glyph kann mehrere Images enthalten
TSpeedButton.NumGlyphs

Die Bitmap wird horizontal unterteilt, d.h. die Bilder müssen von links nach rechts abgelegt sein.
Der max Wert ist 5.

Die Bilder werden für die folgenden States verwendet:

TButtonState =
(
bsUp, // button is up
bsDisabled, // button disabled (grayed)
bsDown, // button is down
bsExclusive,// button is the only down in his group
bsHot // button is under mouse
);

Antworten