Page 1 sur 1

[R] Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 20:31
par novembrezoulou
Bonjour,
J'ai attaqué le développement d'un script de tarot et je souhaite afficher les cartes dans des boutons afin de rendre ces cartes "clickables".
Je pensais ce problème simplissime... mais l'image n'apparaît pas. Pourtant, j'ai repris le fichier d'exemple de l'aide en changeant juste le nom de l'image à afficher et en adaptant la taille du bouton à celle de l'image et en modifiant "$BS_ICON" par "$BS_BITMAP".
A noter que le passage par "GuiCtrlCreatePic", avec le même fichier au même emplacement renvoie bien l'image (donc mon "adressage" me semble correct) mais pas dans le bouton.
Je vous joins le fichier de l'image concernée.
Sur le forum, je n'ai pas trouvé de topic traitant de ce sujet d'où cette création.
Merci de vos conseils car il y a sûrement un truc évident que j'ai raté...


Voici le script. :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    GUICreate("My GUI") ; will create a dialog box that when displayed is centered

    GUICtrlCreateButton("my picture button", 10, 20, 70, 133, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir & "\01t_1.gif")
    GUISetState(@SW_SHOW)

    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop

        EndSwitch
    WEnd
EndFunc   ;==>Example

Re: [..]Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 20:56
par novembrezoulou
rebonsoir,
En continuant à chercher sur le forum, j'ai fini par trouver la fonction "_GuiCtrlButton_SetImage" mais ça ne donne rien de mieux
► Afficher le texte

Re: [..]Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 21:12
par orax
Si l'image est au format BMP les deux codes fonctionnent.

Re: [R]Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 21:54
par novembrezoulou
Merci.
Je n'avais pas testé le BMP car je souhaitais garder le bénéfice de la transparence (d'où le GIF et le PNG -qui ne s’affichait pas non plus...) car les bord des cartes sont arrondis !
Le mieux étant l'ennemi du bien et vu la taille de mes cartes, les angles seront à peine visibles;
Je considère donc le post comme résolu.
Encore merci.

PS : Il s'agit du portage d'un truc que j'avais débuté en TurboPascal durant ma jeunesse, il y a 25 ans. Si j'en viens à bout, je le proposerai sur le forum...

Re: [..]Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 22:41
par orax
Si toutefois ça peut t'être utile, il y a cette solution avec GDI+. Mais le rendu n'est pas meilleur.
► Afficher le texte
Le [R] doit être sur le 1er message ^^ (je l'ai fait).

Re: [R] Insérer une image dans un bouton

Posté : sam. 02 janv. 2016 23:26
par novembrezoulou
Merci pour le "R" !
Pour ta solution, même si le rendu n'est pas meilleurje vais le regarder de près car il fait appel à plein de fonctions que je ne connais pas. Donc... c'est un excellent moyen de se perfectionner.
Je pars du scan d'un jeu réel car je n'ai pas trouvé de dll "cards" avec le jeu de tarot et le seul cards dont je dispose est celui de Windows XP formé des 54 cartes au format "belote". Il semble que sur 7, 8 et 10, cette DLL ait disparu. Dommage car j'en aurais extrait des bitmap plus propres.