[..] Adapter la taille de l'icone a celle du boutton

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

[..] Adapter la taille de l'icone a celle du boutton

#1

Message par zeshrek »

Bonjour a tous.
J'ai un petit probleme de taille avec les icones.
Je sais les agrandir (même si il faut se mefier des effets d'escalier, comme dans l'exemple)
Je sais les mettre sur un 'petit' bouton
Mais je ne sais pas les agrandir sur un bouton !

Dans l'exemple ci dessosu, comment faire pour que dans le second bouton (en bas a gauche) l'icone s'étende sur une surface 'raisonnable' au lieu de rester sous forme d'un petit machin tout rabougri ?

D'avance merci.

Code : Tout sélectionner

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


GUICreate(" My GUI Icons", 270, 200)

$Button1 = GUICtrlCreateButton("Button1", 10, 10, 40, 40, $BS_ICON)
GUICtrlSetImage($Button1, "C:\WINDOWS\system32\shell32.dll", 10)
$Button2 = GUICtrlCreateButton("Button2", 10, 50, 97, 97, $BS_ICON)
GUICtrlSetImage($Button2, "C:\WINDOWS\system32\shell32.dll", 10)

$icon = GUICtrlCreateIcon("shell32.dll", 10, 170, 10, 40, 40)
$icon2 = GUICtrlCreateIcon("shell32.dll", 10, 170, 50, 80, 80)

GUISetState()

While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUIDelete()
Si vis pacem para bellum
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#2

Message par zeshrek »

Bon, je me répond a moi même...
Si on extrait le fichier .ICO de la DLL, et qu'on l'utilise, le problème ne se pose plus.

Donc du coup je me demande si y aurait pas un bug dans la gestion des DLL par Autoit.

Tlem, si tu passes par là, tu peux remonter l'info ?
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#3

Message par TommyDDR »

Oo zeshrek !

Comment extrayez vous l'ICO d'une DLL ??
(J'ai créé un post à ce sujet aujourd'hui même :()

I beg your knowness !!
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#4

Message par zeshrek »

Y a plein d'outils freeware qui font ca. Celui ci par exemple.
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#5

Message par TommyDDR »

Arf... Je voulais en code source autoit ^^

Tempi, merci quand même !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#6

Message par zeshrek »

Désolé, j'ai pour habitude de ne pas réinventer la roue, le fil a couper, ou l'eau tiède si je peux m'en abstenir.
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#7

Message par TommyDDR »

Oui mais quand on à besoin de cette fonction au sein d'un programme, moyen de passer par un programme externe :p
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#8

Message par Tlem »

zeshrek a écrit :Tlem, si tu passes par là, tu peux remonter l'info ?
Le mieux, ce serait que tu pose la question sur le fofo Anglais.
Là, en ce moment, je n'ai pas beaucoup de temps libre, donc je vais au plus rapide. ;)
Je n'ai pas regardé quel était le problème exacte, mais patiente pour voir si personne n’a la solution. :wink:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#9

Message par zeshrek »

Tu as raison, je vais poster une question sur le fofo anglais.
Je posterai le retour ici... si j'en ai un ;)
Si vis pacem para bellum
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#10

Message par Fish »

Salut!

Mais zeshreck tu veut cliquer sur une icône pour faire une action c'est ca? En tout cas si c'est ca tu peut toujours notifier l'icône ou l'image dans ta GUI en rajoutant une case dans ton switch avec marqué $pic1 par exemple.

Bonne journée. :)
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#11

Message par zeshrek »

Oui, il y a plein de solutions de contournement.
Il y a celle que tu indiques, celle qu'il y a dans mon exemple (icone posé directement, sans paser par un boutton), ou même une autre a laquelle j'avais pensé aussi qui consiste a mettre non pas une icone mais un fichier image dans ma DLL pour la placer sur le boutton. Ces deux solutions ont le même inconvénient. J'arrive sans pb a mettre une image dans ma DLL (BMP ou PNG) par contre j'arrive pas a la récupérer pour la coller ensuite sur ce que je veux (un cadre image ou un boutton). Bizare, parceque selon moi ca devrait etre pareil que pour les icones....
Elles ont aussi un autre inconvénient, c'est de laisser un bug un peu casse bonbons (pour etre poli) dans autoit.
En tout cas merci pour ta proposition, je la note, en espérant malgré tout ne pas en avoir besoin.
Merci
Si vis pacem para bellum
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#12

Message par Fish »

Ok, mais j'ai testé j'y arrive à régler la taille... Tu utilise Koda?

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Test icone", 566, 443, 247, 132)
Global $Pic1 = GUICtrlCreatePic("C:\Users\xXFish-Panai-Xx\Desktop\Inutill\Images\Autoit.jpg", 32, 40, 196, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
Global $Button1 = GUICtrlCreateButton("Button1", 16, 24, 227, 129, $WS_GROUP)
Global $Button2 = GUICtrlCreateButton("Button2", 248, 24, 307, 129, $WS_GROUP)
Global $Pic2 = GUICtrlCreatePic("C:\Users\xXFish-Panai-Xx\Desktop\Inutill\Images\Autoit.jpg", 296, 40, 52, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
Pour l'image elle est en pièce jointe.
Fichiers joints
Autoit.jpg
Autoit.jpg (2.66 Kio) Vu 1812 fois
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#13

Message par zeshrek »

Merci Fish, mais...
Mais je suis sur un script qui va etre accompagné d'un certain ombre d'objets. Dans un premier temps ca sera 'seulement' des icones, mais j'envisage aussi d'y rajouter d'autres éléments, comme les langues de traduction, l'aide... etc.
Alors oui, je pourrais faire un installeur qui me pose tout mon petit monde dans un répertoire, mais j'aimerai faire plus propre, et don cmettre tout ce beau monde dans une DLL.
Du coup, ce que tu proposes (avoir un fichier bitmap) même si je sais le faire, je ne veux pas l'utiliser.
par contre si tu me fais la même chose, mais a partir d'une image (format de ton choix, BMP, JPG, PNG, GIF ou autre) qui se trouve dans un fichier .DLL alors là je suis preneur.
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#14

Message par TommyDDR »

zeshrek, si vous SAVEZ comment le faire à partir d'un fichier bmp / ico / etc

Je viens de résoudre mon problème d'extration de DLL.

Vous pouvez donc l'utiliser pour mettre le fichier dans @Temp (ou utiliser directement le fichier en memoir, sans passer par le disque dur si vous savez comment faire -> Je suis preneur)

Voici mon "UDF" et un simple exemple :

Code : Tout sélectionner

#include "LoadIcon.au3"

$hIcon = LoadIcon(@SystemDir & "\shell32.dll", 5)
_CreateIconFileFromHICON($hIcon, @ScriptDir & "\testt.ico")
_WinAPI_DestroyIcon($hIcon)
Fichiers joints
LoadIcon.au3
(6.58 Kio) Téléchargé 70 fois
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#15

Message par zeshrek »

Merci TommyDDR
J'aimerai effectivement me passer d'un fichier temporaire, donc je vais voir si je peux faire tout ca en mémoire (je ne vais quand même pas faire un ram-disc pour décompacter mes ressources !).
Si vis pacem para bellum
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#16

Message par Laddy »

Bonjour à tous deux,

est ce convertir votre image en binaire ne serait il pas possible ?

un truc du genre ?
http://www.autoitscript.fr/forum/viewto ... =21&t=1490
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#17

Message par zeshrek »

En fait Laddy, l'importer dans une variable n'est pas le pb en soi. Le truc c'est d'arriver a l'utiliser ensuite.
Les pistes que vous me donnez TommyDDR et toi sont toutes les deux basées sur des scripts dont le but est de reconstituer un fichier avec le contenu de la variable.
Moi ce que je veux c'est l'utiliser sans passer par un fichier intermédiaire (si possible)

Bon, en même temps c'est pas dramatique non plus, j'ai plein d'options pour contourner le pb...
Si vis pacem para bellum
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Adapter la taille de l'icone a celle du boutton

#18

Message par TommyDDR »

Si vous avez regarder mon UDF, vous devez donc savoir que ma fonction LoadIcon($NomDLL, $Index) vous retourne un Handle vers cette icône.
Je pense qu'à partir de là vous pouvez faire quelque chose.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre