on peut passer par une bidouille :
on crée la fenêtre principale avec une image fixe.
Puis on crée une fenêtre fille contenant la listbox parfaitement superposée à l'image
On fixe une légère transparence sur la fille
et on gère le déplacement de la fille en fonction de la mère.
Voici ce que ça donne sur un exple (attention pour le faire fonctionner, il faut utiliser une image en locale, chez moi c'est terre.jpg, donc faut adapter)
Code : Tout sélectionner
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$main = GUICreate("Form1", 633, 454, 193, 115,-1,$WS_EX_TOPMOST)
$Pic1 = GUICtrlCreatePic("terre.jpg",150,200,330,230, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetState(-1,$GUI_DISABLE)
GUISetState(@SW_SHOW)
$Child = GUICreate('Input', 330, 230, 193+150, 115+200, $WS_POPUP, $WS_EX_TOPMOST, $main)
$Edit1 = GUICtrlCreateList("", 0, 0, 330, 230+10,-1,BitOR($WS_EX_TRANSPARENT,$WS_EX_LAYERED));le +10 c'est à cause d'un chouilla de marge ...
GUICtrlSetData(-1, "list1")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
WinSetTrans($Child, "", 200)
While 1
$wpm = WinGetPos($main)
$x = $wpm[0] + 150+3 ; cas abscisse fenêtre principale ( $wpm[0]) + abscisse de l'image (150 dans ce cas) + chouilla de décallage à pofiner soit même ...)
$y = $wpm[1] + 200+20 ; cas ordonnée fenêtre principale ( $wpm[1]) + ordonée de l'image (200 dans ce cas) + chouilla de décallage à pofiner soit même ...)
WinMove($Child, "", $x, $y)
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
Au passage j'ai eu des chouilla de décallage, ça arrive à cause des rebords. Faut les pofiner manuellement au début ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.