Page 1 sur 1

[R] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 13:00
par cutprod
Bonjour a tous, voila je travail sur un script de commande de matériel et je suis confronter à un problème :

Je dois afficher une photo de la pièce sélectionné parmi d'autre dans une liste (jusqu'ici tout va bien) ,mais à chaque nouvelle photo le control s’agrandit !!
A force de test j'ai pu observer que c'est le "style" du control qui est en cause :
Voila un petit script qui reproduit le phénomène, supprimer le "$WS_BORDER" de GUICtrlCreatePic et tout rentre dans l'ordre, l'image ne s'agrandit plus a chaque rafraichissement.
Pourquoi?
Y a t il une solution pour garder mes bords sur le control ? (à part en mettre un dessous un peu plus grand pour que les bords dépassent)

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 470, 345, 192, 124)
$Pic1 = GUICtrlCreatePic("", 104, 24, 244, 188,$WS_BORDER)
$Button1 = GUICtrlCreateButton("Button1", 184, 264, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            affiche_image()
    EndSwitch
WEnd


Func affiche_image()
    GUICtrlSetImage($Pic1,@ScriptDir & "\A1.jpg")
EndFunc
 

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 14:03
par TT22
Est-ce que ceci corrige ton problème ?
► Afficher le texte

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 15:12
par cutprod
Merci pour ta réponse, non ça ne corrige pas le problème (j'avais déjà essayer cette soluce :wink: )

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 21:09
par jguinch
Zarbi en effet... Peut-être que le style WS_BORDER y est pour quelque chose :|

En passant par deux étapes, ça le fait on dirait :

Code : Tout sélectionner

Func affiche_image()
    GUICtrlSetImage($Pic1,@ScriptDir & "\A1.jpg")
    GUICtrlSetPos($Pic1, Default,Default, 244 )
    GUICtrlSetPos($Pic1, Default,Default, Default, 188)
EndFunc

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 22:41
par mikell
ça marche mais ya du flicker :?
Pourquoi mépriser les bonnes vieilles solutions bourrin ?

Code : Tout sélectionner

GUICtrlCreateLabel("", 103, 23, 246, 1) 
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateLabel("", 103, 212, 246, 1) 
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateLabel("", 103, 23, 1, 190) 
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateLabel("", 348, 23, 1, 190) 
GUICtrlSetBkColor(-1, 0x000000)

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 22:56
par jguinch
Ah oui, pas con...
Du coup, on peut faire ça aussi (toujours en enlevant le style WS_BORDER sur l'image):

Code : Tout sélectionner

GUICtrlCreateLabel("", 103, 23, 246, 190, $WS_BORDER)
GUICtrlSetState(-1, $GUI_DISABLE)
 
@Mikell : tu penses que c'est un bug ? En tout cas, c'est assez bizarre... :shock:

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 23:20
par mikell
J'y ai pensé mais (pour avoir des fois eu des blagues avec) je suis pas fan des superpositions de controles

Sinon faudrait connaître précisément la structure d'un GUICtrlCreatePic et le mode de fonctionnement du GUICtrlSetImage - ça sera pour une longue soirée d'hiver :mrgreen:

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : mer. 11 juin 2014 23:45
par cutprod
merci de vous penchez sur mon (et surement pas que le mien...) problème.
Mois aussi pour l'instant je gère ça avec une "superposition de controles".

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : jeu. 12 juin 2014 15:24
par TommyDDR
Et ça ?:
► Afficher le textecode

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : jeu. 12 juin 2014 15:34
par mikell
Ben ça c'est absolument super
Pis ça éclaire sur le fonctionnement du fourbi
Pis c'est rapide en plus : chez moi environ 8 fois plus rapide que le GUICtrlSetImage de base :shock:
Tout quoi :mrgreen:

Re: [..] Bug sur GUICtrlCreatePic ?

Posté : ven. 13 juin 2014 00:06
par cutprod
Bravo et merci TommyDDR ça pique les yeux...