SpeedButton et changement de Glyph dynamique

Résolu
goroundfr Messages postés 2 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 14 janvier 2006 - 13 janv. 2006 à 00:44
goroundfr Messages postés 2 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 14 janvier 2006 - 14 janv. 2006 à 23:43
Bonjour à tous,

Je voudrais dans mon programme changer le glyph d'un speed button à l'execution, ce bouton en fait doit afficher 2 glyph alternativement à chaque fois que l'on click dessus.
Voici le code que j'ai saisi, mais cela ne fonctionne pas :

procedure TFormMain.SpeedButtonLockClick(Sender: TObject);
begin

IsLocked := not IsLocked;
If IsLocked then
begin
SpeedButtonLock.Glyph := nil;
SpeedButtonLock.Glyph.Canvas.Draw(0, 0, KeyIcon);
end
else
begin
SpeedButtonLock.Glyph := nil;
SpeedButtonLock.Glyph.Canvas.Draw(0, 0, UnlockedIcon);
end;
end;

A noter que IsLocked et un boolean global, et que KeyIcon et UnLockedIcon sont des TIcon global préalablement créés à la création du form.

Merci pour votre aide,

GoroundFr

2 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
13 janv. 2006 à 01:35
Salut,
Esssaye voir comme ça :

procedure TFormMain.SpeedButtonLockClick(Sender: TObject);
begin
IsLocked := not IsLocked;
If IsLocked then
SpeedButtonLock.Glyph.Assign(KeyIcon) // uniquement des BMP
else
SpeedButtonLock.Glyph.Assign(UnlockedIcon);
end;



@+
Cirec
3
goroundfr Messages postés 2 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 14 janvier 2006
14 janv. 2006 à 23:43
Merci Cirec,

Cela fonctionne effectivement mieux.

GoroundFr
0
Rejoignez-nous