[R] Détecter clic sur image

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
EricF
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mar. 08 mars 2011 23:06
Status : Hors ligne

[R] Détecter clic sur image

#1

Message 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
Modifié en dernier par EricF le ven. 31 mai 2013 22:00, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#2

Message 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 ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
EricF
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mar. 08 mars 2011 23:06
Status : Hors ligne

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

#3

Message 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)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#4

Message par mikell »

Hm j'aurais dû le dire autrement
Opt("GUIOnEventMode", 1) et GuiGetMsg() sont incompatibles, c'est ou l'un ou l'autre
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
EricF
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mar. 08 mars 2011 23:06
Status : Hors ligne

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

#5

Message par EricF »

ok, merci
Répondre