Page 1 sur 1

[R] Détecter clic sur image

Posté : ven. 31 mai 2013 19:36
par EricF
Bonjour,
J'ai créé une petite GUI avec une image. Je voudrais lancer une action lors d'un clic sur l'image, mais ça ne marche pas si je laisse la bordure autour de l'image. Existe-t'il une solution pour garder la bordure et pouvoir lancer une action lors d'un clic ?


Deuxième souci : Quand j'active GUIOnEventMode, les clics sur mes boutons ne fonctionnent plus :( Il suffit que le passe GUIOnEventMode à 0 pour que ça marche. Pourquoi ?

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <File.au3>

#include "_Codes\resources\resources.au3" ;UDF permettant l'accès aux ressources intégrées à l'exe

Opt("GUIOnEventMode", 1)

Code : Tout sélectionner

$Img_France = GUICtrlCreatePic("", 376,48, 100, 109);, $WS_BORDER) <==== si je laisse le border, le clic n'est pas fonctionnel 
_ResourceSetImageToCtrl($Img_France, "Dept_00")
GUICtrlSetOnEvent($Img_France, "bidule")

Code : Tout sélectionner

Func bidule()
    MsgBox(0, "", "clic!")
EndFunc

Re: [..] Détecter clic sur image

Posté : ven. 31 mai 2013 20:14
par mikell
Pour la bordure essaie

Code : Tout sélectionner

#include <StaticConstants.au3>
...
$n = GUICtrlCreatePic("...", 50, 50, 200, 50, [color=#880000]BitOr($GUI_SS_DEFAULT_PIC, $WS_BORDER)[/color])
Pour les boutons, ils fonctionnent eux aussi en eventmode ?

Re: [..] Détecter clic sur image

Posté : ven. 31 mai 2013 20:58
par EricF
Ca marche pour la bordure :)
mikell a écrit :Pour les boutons, ils fonctionnent eux aussi en eventmode ?
Du tout

Code : Tout sélectionner

$Label4 = GUICtrlCreateLabel("Nom région : ", 24, 115, 67, 17, 0)
$Nom_region = GUICtrlCreateInput("", 128, 112, 169, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_READONLY))
$Img_France = GUICtrlCreatePic("", 376,48, 100, 109);, $WS_BORDER) 
_ResourceSetImageToCtrl($Img_France, "Dept_00")
GUICtrlSetOnEvent($Img_France, "bidule")
$Label5 = GUICtrlCreateLabel("Recherche par département : ", 240, 170, 146, 17)
$Code_dept_rech = GUICtrlCreateInput("", 384, 168, 49, 21)
$Select_Dept = GUICtrlCreateButton("OK", 440, 168, 41, 25)

Re: [..] Détecter clic sur image

Posté : ven. 31 mai 2013 21:18
par mikell
Hm j'aurais dû le dire autrement
Opt("GUIOnEventMode", 1) et GuiGetMsg() sont incompatibles, c'est ou l'un ou l'autre

Re: [..] Détecter clic sur image

Posté : ven. 31 mai 2013 21:43
par EricF
ok, merci