Page 1 sur 1

[R] GUICtrlCreateListView et compilation

Posté : mar. 07 févr. 2012 20:06
par Gnifrus
Bonjour,

J'en appelle (encore) à la communauté !
Dans mon script, je crée une fenêtre de log dans une GUI principale, au moyen de GUICtrlCreateListView et ajoute des icônes pour illustrer les différentes lignes qui vont s'afficher en fonction des résultats de mon programme.
Le code est celui-ci (j'ai supprimé les lignes inutiles) :

Code : Tout sélectionner

$log_ListView = GUICtrlCreateListView("", 16, 782, 609, 110, $LVS_NOCOLUMNHEADER + $LVS_REport)
Dim $Liste_icones = _GUIImageList_Create(16, 16, 5, 1)
_GUIImageList_AddIcon($Liste_icones, "icones\logs\stopwatch.ico") ;0
_GUIImageList_AddIcon($Liste_icones, "icones\logs\warning.ico") ;1
_GUIImageList_AddIcon($Liste_icones, "icones\logs\download.ico") ;2
_GUICtrlListView_SetImageList($log_ListView, $Liste_icones, 1)
_GUICtrlListView_AddColumn($log_ListView, "", 589)
Mon problème est que lorsque je compile mon script, et le mets sur un autre ordinateur, il ne trouve bien sûr plus, les références aux icônes située dans "icones\logs\", et ces dernières ne s'affichent donc plus.
N'y a t-il pas la possibilité, au moyen d'une boucle "If @Compiled = 1 Then ... else .... endif", et d'un "#AutoIt3Wrapper_Res_Icon_Add=C:\CD\Copifich\icones\logs\stopwatch.ico...." en début de programme, d'inclure ces icônes dans le fichier compilé ?

J'ai bien essayé, mais je n'y arrive pas ! Pourtant, j'ai déjà fait cela, mais avec des boutons, et des "GUICtrlSetImage(-1, @ScriptFullPath, -10)"...

Pensez-vous que cela soit possible ?

Merci par avance à la personne qui me sortira de cette impasse, ou me donnera une piste à explorer !
Bonne soirée,

Gnifrus.

Re: [..] GUICtrlCreateListView et compilation

Posté : mar. 07 févr. 2012 20:12
par mikell
Et pourquoi pas un FileInstall tout bête ?
Sinon c'est probablement une histoire de chemin dans l'appel des ico ^^

Re: [..] GUICtrlCreateListView et compilation

Posté : mar. 07 févr. 2012 21:43
par Gnifrus
Merci Mikell,

Oui, je pourrai effectivement me servir d'un Fileinstall, c'est une bonne idée, mais je souhaiterai plutôt tout inclure dans mon exe, pour des raisons de simplification, et éventuellement de portabilité...

Concernant le chemin dans l'appel des ico, je me suis certainement mal expliqué, mais ça ne peut pas marcher, car le dossier des icônes n'est présent que sur mon ordinateur. (c'est pour celà que je souhaiterai inclure ces icônes dans l'exe, comme avec les "#AutoIt3Wrapper_Res_Icon_Add=C:\CD\Copifich\icones\logs\stopwatch.ico...."

Mais ça n'a pas l'air de fonctionner avec les GUICtrlCreateListView.

Merci en tout cas !

Gnifrus.

Re: [..] GUICtrlCreateListView et compilation

Posté : mar. 07 févr. 2012 22:40
par mikell
Hum oui je connais pas bien le #AutoIt3Wrapper mais il me semble que si cette syntaxe marche

Code : Tout sélectionner

GUICtrlSetImage(-1, @ScriptFullPath, -10)
alors celle-ci devrait marcher, non ?

Code : Tout sélectionner

_GUIImageList_AddIcon($Liste_icones, @ScriptFullPath, -10)

Re: [..] GUICtrlCreateListView et compilation

Posté : mer. 08 févr. 2012 11:55
par Gnifrus
Merci mikell !

ça marche !
Mon problème venait du fait qu'il fallait utiliser des nombres positifs (à la différence des "GUICtrlSetImage(-1, @ScriptFullPath, -6)") pour aller chercher les icônes "idoines".
Donc :

Code : Tout sélectionner

_GUIImageList_AddIcon($Liste_icones, @ScriptFullPath, 12)
Pourquoi ? I don't know ! Mais ça marche en tout cas !!!

Merci beaucoup !
Bonne journée,

Gnifrus.