Utilisation d'icon intégré

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Utilisation d'icon intégré

#1

Message par liberodark » lun. 01 août 2016 23:17

Bonjour,

Je vous expose ma question en gros j'ai eu indication de comment mettre des icons dans autoit et sur un exe via la compilation. Ce qui est un très bon point mais voilà j'ai ajouté mes icon dans autoit et dans ma compilation !
La chose qui me dérange étant que sur mon script sans udf et sans dll j'ai réussi à avoir une icon mais je ne c'est pas exactement comment cela ce fait.
Voici l'exemple de mon code :

j'ai au début :
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=steam.ico
#AutoIt3Wrapper_Res_Icon_Add=open.ico
#AutoIt3Wrapper_Res_Icon_Add=steam.ico
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Puis :
; ====== gui ========

$hMainGUI = GUICreate("Launcher SSE", $iW, $iH, -1, 150)
GUISetIcon("steam.ico", -58, $hMainGUI)
GUICtrlCreateLabel("Open Source Launcher 2.1.0 Build 1", 48, 8, $iW - 56, 32, $SS_CENTERIMAGE)
GUICtrlSetFont(-1, 14, 800, 0, "Arial", 5)
GUICtrlCreateIcon("steam.ico", -131, 8, 8, 32, 32)
GUICtrlCreateLabel("", 0, $iT, $iW, 2, $SS_SUNKEN) ; separator
GUICtrlCreateLabel("", $iLeftWidth, $iT + 2, 2, $iH - $iT - $iB - 2, $SS_SUNKEN) ; separator
GUICtrlCreateLabel("", 0, $iH - $iB, $iW, 2, $SS_SUNKEN) ; separator
$hFooter = GUICtrlCreateLabel("© 2016 liberodark", 10, $iH - 18, $iW - 20, 17)
GUICtrlSetTip(-1, "GitHub", "Click to open...")
GUICtrlSetCursor(-1, 0)

$intro1 = GUICtrlCreateIcon("open.ico", -131, $iLeftWidth + 100, 100, 64, 64)
$intro2 = GUICtrlCreateLabel("Welcome", $iLeftWidth + 95, 180, 100, 25)
GUICtrlSetFont(-1, 14, 800, 0, "Arial", 5)
La il y a donc mon icon steam qui fonctionne elle est bien visible sans le fichier alors que les lignes suivantes non :
GUICtrlCreateIcon("steam.ico", -131, 8, 8, 32, 32)
$intro1 = GUICtrlCreateIcon("open.ico", -131, $iLeftWidth + 100, 100, 64, 64)
Donc ma question c'est cela est il normal ?

ultimateheadcenter
Niveau 2
Niveau 2
Messages : 21
Enregistré le : sam. 30 juil. 2016 14:35
Contact :
Status : Hors ligne

Re: Utilisation d'icon intégré

#2

Message par ultimateheadcenter » lun. 01 août 2016 23:22

Tu as oublié fileinstall ^^ non ?

liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Re: Utilisation d'icon intégré

#3

Message par liberodark » lun. 01 août 2016 23:39

Oui file install je ne l'utilise pas non plus mais c'est vrai je les oublié ^^

Avatar du membre
orax
Modérateur
Modérateur
Messages : 1452
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Contact :
Status : Hors ligne

Re: Utilisation d'icon intégré  

#4

Message par orax » mar. 02 août 2016 00:34

Soit tu utilises FileInstall, soit tu ajoutes les fichiers .ico dans les ressources de l'exécutable (avec #AutoIt3Wrapper_Res_Icon_Add).
Je te renvoie à ce que t'avait dit Tlem à ce sujet => https://autoitscript.fr/forum/viewtopic ... 597#p98597


steam.ico est déjà intégré dans l'exécutable donc la ligne #AutoIt3Wrapper_Res_Icon_Add=steam.ico n'est pas nécessaire. La ligne est à supprimer.

GUISetIcon("steam.ico", -58, $hMainGUI)
[...]
GUICtrlCreateIcon("steam.ico", -131, 8, 8, 32, 32)
-58, -131 ? Je ne comprends d'où proviennent ces nombres.
Si ResNumber n'est pas spécifié, la numérotation commence à 201.
documentation SciTE4AutoIt a écrit :#AutoIt3Wrapper_Res_Icon_Add= ; Filename[,ResNumber[,LanguageCode]] of ICO to be added.
; Add extra ICO files to the resources
; Use full path of the ico files to be added
; ResNumber is a numeric value used to access the icon: TraySetIcon(@ScriptFullPath, ResNumber)
; If no ResNumber is specified, the added icons are numbered from 201 up

Ce n'est peut-être pas nécessaire d'utiliser ResourceEx.au3 dans ce cas. Ce script affiche 1.ico et 2.ico.
#AutoIt3Wrapper_Icon=1.ico
#AutoIt3Wrapper_Res_Icon_Add=2.ico

#include <GUIConstantsEx.au3>

Example()

Func Example()
    GUICreate("", 250, 250)

    GUICtrlCreateIcon(@ScriptFullPath, -1, 20, 40, 32, 32)  ; 1.ico
    GUICtrlCreateIcon(@ScriptFullPath, 201, 50, 40, 32, 32) ; 2.ico
    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    GUIDelete()
EndFunc   ;==>Example
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)

liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Re: Utilisation d'icon intégré

#5

Message par liberodark » mar. 02 août 2016 00:50

Merci pour ton aide mais ton script ne fonctionne pas il affiche pas d'icone est il incomplet ?

Cordialement

liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Re: Utilisation d'icon intégré

#6

Message par liberodark » mar. 02 août 2016 00:55

Voilà ce que j'ai réussi à faire mais une fois compilé cela n'affiche pas les icons.
J'ai aussi corrigé mon erreur de doublons en supprimant la ligne en trop

Cordialement
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=1.ico
#AutoIt3Wrapper_Res_Icon_Add=1.ico
#AutoIt3Wrapper_Res_Icon_Add=2.ico
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <GUIConstantsEx.au3>

Example()

Func Example()
    GUICreate("", 250, 250)

    GUICtrlCreateIcon("1.ico", @ScriptFullPath, -1, 20, 40, 32, 32)  ; 1.ico
    GUICtrlCreateIcon("2.ico", @ScriptFullPath, 201, 50, 40, 32, 32) ; 2.ico
    GUISetState()

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd

    GUIDelete()
EndFunc   ;==>Example

liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Re: Utilisation d'icon intégré

#7

Message par liberodark » mar. 02 août 2016 01:04

Cette ligne est celle qui fonctionne sans ico après compilation :
GUISetIcon("icons\steam.ico", -58, $hMainGUI)
Si vous avez des idées ? sinon je vais devoir me re pencher sur des UDF.

liberodark
Niveau 4
Niveau 4
Messages : 73
Enregistré le : jeu. 20 août 2015 20:33
Status : Hors ligne

Re: Utilisation d'icon intégré

#8

Message par liberodark » mar. 02 août 2016 01:25

Merci beaucoup orax j'ai mieux saisie mon erreur ^^

Répondre