Page 1 sur 1

_GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : lun. 15 mai 2017 00:57
par IsLaMalice
Bonjour,

Je tente de faire une toolbar pour mon petit programme, il va etre tout mimi.
Mais, j'ai un souci, mes images ne se chargent pas ! :cry:

Voici mon code, j'ai l'impression d'avoir tout respecté comme dans l'aide...
PS : le 1er message box renvoi -1 sur le _GUICtrlToolbar_LoadBitmap. Un probleme de format ?

Ce sont des fichiers que j'ai créé moi même, par Gimp, taille 48x48 pixels, exportés en 8bpp 1-bit alpha 256-slot palette

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiToolbar.au3>
#include <StaticConstants.au3>
#include <ToolbarConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Islamalice\Documents\tests-de-scripts\form.kxf
Local Enum $ico_pgup = 1000, $ico_orange, $ico_ctrlA, $ico_escargot, $ico_detail
$Form1 = GUICreate("POC", 140, 488, 358, 295)


$ToolBar1 = _GUICtrlToolbar_Create($Form1)

;~ msgbox(0,"",_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\pageup.ico"))
_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\pageup.ico")
_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\rechercher-orange48.ico")
_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\ctrlA.ico")
_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\escargot.ico")
_GUICtrlToolbar_LoadBitmap($ToolBar1, @ScriptDir & "\icones\plus_detail.ico")
msgbox(0,"",@ScriptDir & "\icones\plus_detail.ico") ;---> le chemin est normal, pas de pb de \
_GUICtrlToolbar_AddButton($ToolBar1, $ico_pgup, 0)
_GUICtrlToolbar_AddButton($ToolBar1, $ico_orange, 1)
_GUICtrlToolbar_AddButton($ToolBar1, $ico_ctrlA, 2)
_GUICtrlToolbar_AddButton($ToolBar1, $ico_escargot, 3)
_GUICtrlToolbar_AddButtonSep($ToolBar1)
_GUICtrlToolbar_AddButton($ToolBar1, $ico_detail, 4)

qq'un a une idée ?

Faut il un bitmap d'un certain format ?

merci d'avance,
Islamalice

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : lun. 15 mai 2017 01:46
par orax
À mon avis il s'agit plutôt de ça : Windows bitmap (.bmp).

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : lun. 15 mai 2017 08:37
par IsLaMalice
J'y ai bien pensé... j'ai aussi pris un .bmp (Gimp a exporté mon 48x48 .ico en .bmp) : même résultat...

Je ressaie avec une image que je n'ai pas créée moi même...

Je tente avec un bmp trouvé sur mon c:, il fait 32x32 :
C:\Windows\winsxs\wow64_microsoft-windows-m..\WindowsMovieMaker.bmp

ca marche !

je ressaie avec mon .ico reduit en 32x32 : nok
je convertis ce 32x32 en BMP : NOK toujours !!

est ce que cela se situerait dans les options d'export BMP de Gimp ?

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1  

Posté : mar. 16 mai 2017 22:44
par IsLaMalice
tests suivants : j'utilise PAINT pour sauvegarder mon bmp : marche toujours pas en 256 couleurs.

Test en 24 bits ? ca marche !!

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : mer. 17 mai 2017 00:05
par orax
J'ai fait un essai avec le script d'exemple (dans l'aide) de la fonction _GUICtrlToolbar_LoadBitmap. J'ai juste changé les images, elles vont de 1 bit (noir et blanc) à 24 bits. Les cinq images s'affichent correctement, donc je ne suis pas sûr que ce soit juste une question de taille de bits. Voir le fichier joint.

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : mer. 17 mai 2017 00:16
par IsLaMalice
je réussis aussi a exporter depuis gimp, en cochant la case :
capture-gimp_imagesia-com_1e1lv_small.png
capture-gimp_imagesia-com_1e1lv_small.png (17.51 Kio) Vu 14602 fois

Re: _GUICtrlToolbar_LoadBitmap ne charge pas mes icones : -1

Posté : mer. 17 mai 2017 18:21
par orax
Effectivement, ça marche mieux quand cette case est cochée. :D D'après ce que j'ai compris, si la case Ne pas inscrire l'information d'espace couleur n'est pas cochée, Gimp enregistrera le BMP dans la version 4 de ce format. En revanche, si cette case est bien cochée, le fichier sera enregistré dans la version 3.

J'ai remarqué que c'est la fonction LoadImage (_WinAPI_LoadImage) qui ne charge pas le BMP (voir l'exemple dans script2.zip). Il semblerait que cette fonction ne prenne pas en charge les versions récentes (4 et 5) du format BMP. Mais je n'ai trouvé que peu d'informations à ce sujet :
► Afficher le texte
Il n'y a donc pas que la fonction _GUICtrlToolbar_LoadBitmap qui est concernée par le problème. Tous les scripts qui utilisent _WinAPI_LoadImage pour charger un fichier BMP pourraient être concernés.