Aide sur les Interfaces Graphique Utilisateurs (GUI).
TopXm
Niveau 6
Messages : 260 Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status :
Hors ligne
#1
Message
par TopXm » mar. 03 juil. 2012 16:29
Hello
J'ai un léger souci, quand j'ajoute deux images (.JPG) sur ma GUI et que je définis le backcolor de ma GUI, cela altère les images.
Voici le script :
► Afficher le texte Script d'exemple
Code : Tout sélectionner
;
; Test BackColor
;
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global Const $BinFileName = @TempDir & '\Temp.bin'
Global Const $TabItemText[3] = ["File d'attente", "Options", "?"]
Global Const $TempDir = @TempDir & '\TrcUploader\'
Global Const $IconName = $TempDir & 'awtu.ico'
Global Const $GuiBackColor = 0xFEFEFE
_InstallFiles()
_GUIprepare()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
DirRemove(@TempDir & '\TrcUploader', 1)
Func _GUIprepare()
Global $GuiTRC = GUICreate("Gestion des documents (Treath Report Center)", 635, 500, 192, 146, _
BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_TABSTOP))
GUISetBkColor($GuiBackColor)
GUISetIcon($IconName)
Global $hFond = GUICtrlCreatePic($TempDir & 'BandeLogo.jpg', 0, 2, 634, 112)
GUICtrlSetState($hFond, $GUI_DISABLE)
Global $hFrame = GUICtrlCreatePic($TempDir & 'TrcFrame.jpg', 0, 148, 634, 331)
GUICtrlSetState($hFond, $GUI_DISABLE)
GUISetState(@SW_SHOW)
EndFunc ;==>_GUIprepare
Func _InstallFiles()
DirCreate($TempDir)
FileInstall('C:\Users\TopXm\Desktop\Dev\Threat Report Downloader\Resources\BandeLogo.jpg', _
$TempDir & 'BandeLogo.jpg', 1)
FileInstall('C:\Users\TopXm\Desktop\Dev\Threat Report Downloader\Resources\TrcFrame.jpg', _
$TempDir & 'TrcFrame.jpg', 1)
FileInstall('C:\Users\TopXm\Desktop\Dev\Threat Report Downloader\Resources\awtu.ico', _
$TempDir & 'awtu.ico', 1)
EndFunc
Voici le ZIP contenant les images (et l'AU3 dans l'élan) :
TRC.zip
(34.06 Kio) Téléchargé 193 fois
Il suffit de mettre le GUISetBkColor en commentaire pour voir la différence
Je dois zapper un truc tout ballot, mais là j'avoue je ne capte pas trop le pourquoi du comment.
Merci d'avance
Modifié en dernier par
TopXm le ven. 27 juil. 2012 05:00, modifié 1 fois.
silvere
Niveau 8
Messages : 532 Enregistré le : sam. 24 sept. 2011 22:56
Status :
Hors ligne
#2
Message
par silvere » mar. 03 juil. 2012 17:17
Code : Tout sélectionner
Global $hFond = GUICtrlCreatePic($TempDir & 'BandeLogo.jpg', 0, 2, 634, 112)
GUICtrlSetState($hFond, $GUI_DISABLE)
Global $hFrame = GUICtrlCreatePic($TempDir & 'TrcFrame.jpg', 0, 148, 634, 331)
GUICtrlSetState($hFond, $GUI_DISABLE)
Sa a rien avoir mais t'a mis 2 fois GUICtrlSetState($hFond, $GUI_DISABLE) en oubliant de changer la variable.
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
TopXm
Niveau 6
Messages : 260 Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status :
Hors ligne
#3
Message
par TopXm » mar. 03 juil. 2012 17:28
Salut,
C'est un exemple donc j'ai fait des copiés/collés à l'arrache, après du coup ce bout de code passe à la trappe
Néanmoins merci ça montre que tu as pris le temps de lire le code
jguinch
Modérateur
Messages : 2515 Enregistré le : lun. 14 févr. 2011 22:12
Status :
Hors ligne
#4
Message
par jguinch » mar. 03 juil. 2012 20:36
Salut
C'est lié au format des images.
En convertissant en BMP, le problème n'apparaît pas. Je n'ai pas essayé d'autres formats.
Fichiers joints
TRC.zip
Fichiers convertis au format ICO (65.11 Kio) Téléchargé 168 fois
Modifié en dernier par
jguinch le mer. 04 juil. 2012 22:09, modifié 1 fois.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
TopXm
Niveau 6
Messages : 260 Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status :
Hors ligne
#5
Message
par TopXm » mer. 04 juil. 2012 19:11
Hello
J'avais aussi testé via un autre format d'image (BMP en l'occurence) mais cela ne change rien à mon problème chez moi.
@jguinchard : ça fonctionne chez toi ? Perso voici ce que ça donne avec un fond jaune par exemple :
► Afficher le texte Capture
jguinch
Modérateur
Messages : 2515 Enregistré le : lun. 14 févr. 2011 22:12
Status :
Hors ligne
#6
Message
par jguinch » mer. 04 juil. 2012 22:15
oups .... autant pour moi, j'avais mis un commentaire sur la couleur de fond... forcément !
J'ai bien reproduit le problème. Je cherche aussi du coup....
[...]
Finalement, j'ai trouvé comment contourner ce problème, mais je n'ai pas l'explication.
En convertissant les images au format ICO (avec XnView) et en utilisant GUICtrlCreateIcon(), le problème n'apparaît pas.
Peut-être que les Bitmaps sont mal supportées, je n'ai pas pris le temps de chercher.
J'ai modifié le fichier joint dans mon premier post avec les modifications (format ico).
Je suis preneur d'une vrai solution et/ou explication
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#7
Message
par mikell » mer. 04 juil. 2012 22:26
Très bizarre
Si on modifie le jpg avec un éditeur d'images (la luminosité par exemple) les altérations se déplacent
Si on fait en sorte que les valeurs RGB ne soient pas identiques dans le jpg (pas de vrai gris) , les altérations disparaissent
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
TopXm
Niveau 6
Messages : 260 Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status :
Hors ligne
#8
Message
par TopXm » jeu. 05 juil. 2012 03:41
Hello
Bon je ne me suis pas cassé la nenette, j'ai fait l'image de fond de la taille de ma GUI avec tout le nécessaire
► Afficher le texte Image de fond
Je laisse néanmoins le sujet ouvert quelques jours au cas où quelqu'un aurait une idée qui va bien car je serai intéressé de connaitre un solution à ce souci.