Bitmap et Tspeedbutton

Résolu
furax13 Messages postés 90 Date d'inscription mardi 28 octobre 2003 Statut Membre Dernière intervention 24 avril 2008 - 12 avril 2005 à 11:47
emmanuelgo Messages postés 58 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 13 avril 2005 - 13 avril 2005 à 22:25
bonjour,
dans mon application, il y a 5 boutons que j'aimerais rendre inactif en fonction de la sélection de l'utilisateur.
Ces 5 boutons sont des TSpeedbutton qui ont chacun un bitmap (couleur).
Dans mon code, j'ai activé pour chaque bouton la ressource nombouton.enabled := false;
Malheureusement, les 5 bouton deviennent gris alors que j'aimerais qu'ils soient tous grisés avec l'icone de mes bitmaps grisés.

Comment faire?

merci d'avance
Image avec les boutons actifs :

Images avec les boutons inactifs :

5 réponses

emmanuelgo Messages postés 58 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 13 avril 2005
12 avril 2005 à 15:37
Peut etre un peu plus de précisions :
tes images n'apparaissent pas dans le post, mais si j'ai bien compris, tu utilises la même image pour les etat 1,3 et 4, c'est à dire UP,CLICKED, et DOWN, seule l'image DISABLED est differente :
donc tu crée un bitmap comme ceci :
à gauche ton image de l'etat UP, ensuite, sur la meme ligne ton image de l'etat DISABLED, et ensuite tu colles deux fois la premiere image, touours sur la meme ligne...
voila.
Si mes souvenirs sont bon, la couleur du pixel en bas a gauche de ton image résultante défini la couleur transparente, par défaut je crois... donc si tu ne souhaite pas de pixels transparents, fait bien attention à ce détails (il faut alors desactiver la transparence, de mémoire je ne peux pas te dire comment faire)
3
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
12 avril 2005 à 12:56
Salut furax13,



Dans la propriété glyph du TSpeedButton place un bitmap qui composé de 4 images placées horizontalement à la queue leu leu.

Chaque image doit avoir la même taille.

Dans la propriété numglyphs précise le nombre d'image dans ton fichier bitmap.



La propriété state du TSpeedbutton va préciser qu'elle image sera affichée :



Image State Bouton

1 Up
Bouton non enfoncè,
image par défaut

2 Disabled Quand enabled := false

3
Clicked Bouton enfoncé

4
Down Bouton m
aintenu enfoncè.



Pour la correspondance State / image vérifie dans l'aide de delphi car je ne suis plus sûr de mon coup.


Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.



Vincent Stryckmans.



Leur liberté, c'est la nôtre. Agis
0
furax13 Messages postés 90 Date d'inscription mardi 28 octobre 2003 Statut Membre Dernière intervention 24 avril 2008
12 avril 2005 à 15:04
merci pour ces infos.
Comment faire à partir des 4 images bmp pour les mettres dans la propriété glyph.
(Créer une seule bitmap?)

dans mon cas, j'aimerai :.
état 1, 3 et 4
état 2

Merci d'avance
0
emmanuelgo Messages postés 58 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 13 avril 2005
12 avril 2005 à 15:31
salut furax

effectivement, tu dois créer un seul Bitmap avec tes 4 Bitmaps de bases...Comme le dit Vincent, pour que ca marche, il faut que ces bitmaps de bases soit tous de la meme taille...Tu les colle ensuite sur une meme ligne dans cette ordre :
le plus à gauche sera le bitmap de l'etat UP, le deuxieme celui de l'etat DISABLED etc....
Donc, par exemple si tes Bitmaps sont des icones de 32*32, tu dois les coller pour obtenir un bitmap de 128*32... c'est cette image que tu dois mettre dans la propriétés Glyph..

Voilà, j'espère que c'est assez claire...l'aide de delphi n'est vraiment pas explicite à ce sujet...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
emmanuelgo Messages postés 58 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 13 avril 2005
13 avril 2005 à 22:25
merci d'avoir cliqué sur réponse acceptée, merci à Vincent aussi...
amuse toi bien !
0
Rejoignez-nous