Page 1 sur 1

[R] Afficher une image en survolant un texte

Posté : mar. 09 juil. 2013 20:07
par Kreg
Bonjour à tous !

Je souhaiterais afficher une image en survolant un texte dans une GUI. Plutôt simple me direz-vous mais je ne vois pas comment faire ; j'ai regardé avec GUICtrlSetOnHover mais je ne vois pas trop comment l'imbriquer.
Alors j’implore votre aide :-)

Ma GUI est assez simple, 4 ou 5 blocs avec du texte, et j'aimerais avoir une prévisualisation d'image en survolant une des zones concernés. Peu importe le format de l'image, JPG, PNG...

Est-ce faisable ?
Merci!!!

Kreg

Re: [..] Afficher une image en survolant un texte

Posté : mar. 09 juil. 2013 20:46
par alex1205
Voila un code (comme d'hab, a l'arrache)

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#region ### START Koda GUI section ### Form=
$i = 0
$Form1 = GUICreate("Form1", 125, 72, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$Label1 = GUICtrlCreateLabel("Mon Texte 1 - blablabla", 8, 8, 115, 17)
$Label2 = GUICtrlCreateLabel("Mon Texte 2 - blablabla", 8, 40, 115, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
    Sleep(100)
    $aInfo = GUIGetCursorInfo($Form1)
    If $aInfo[4] <> 0 Then
        If $aInfo[4] = $Label1 Then
            __Image("mon image pour le label 1") ; chemin d'accès a l'image a afficher
        ElseIf $aInfo[4] = $Label2 Then
            __Image("mon image pour le label 2") ; chemin d'accès a l'image a afficher
        EndIf
    EndIf
WEnd

Func __Image($fImage, $sString)
    $Form2 = GUICreate("", 190, 152, 300, 200)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Pic1 = GUICtrlCreatePic($fImage, 8, 8, 177, 137)
    GUISetState(@SW_SHOW, $Form2)
    Sleep(5000) ;le temps que la gui reste
    GUISetState(@SW_HIDE, $Form2)
EndFunc   ;==>__Image
Func Form1Close()
    Exit
EndFunc   ;==>Form1Close
Ca utilise GUIGetCursorInfo, pour savoir ce que la souris survole. j'espere que ca te convient

Re: [..] Afficher une image en survolant un texte

Posté : mer. 10 juil. 2013 11:39
par Kreg
Bonjour à tous!

Merci Alex pour ta réponse rapide !!
Malheureusement rien ne s'affiche lorsque je survole un lien...

Voici ce que j'ai lorsque je survole :
Image

J'ai simple ajouté le chemin dans ton code :

Code : Tout sélectionner

        If $aInfo[4] = $Label1 Then
            __Image("C:\!Perso\Images\", "Titi.png") ; chemin d'accès a l'image a afficher
        ElseIf $aInfo[4] = $Label2 Then
            __Image("C:\!Perso\Images\", "Toto.jpg") ; chemin d'accès a l'image a afficher
Qu'en dis-tu ?
Merci !!
Kreg

Re: [..] Afficher une image en survolant un texte

Posté : mer. 10 juil. 2013 11:55
par Yogui
Kreg Vous avez parlé de GUICtrlSetOnHover avez vous testé cet exemple :


► Afficher le texte
Source : http://www.autoitscript.com/forum/topic ... hover-udf/

Où avez vous des difficultés dans ce code ?

Re: [..] Afficher une image en survolant un texte

Posté : mer. 10 juil. 2013 14:37
par Kreg
Et bien en fait si, c'est carrément parfait !
J'vais pourtant tester des scripts proposer sur le topic en question sans succès. Là j'ai retesté en adaptant pour mon besoin : impec !

Un grand merci à toi.
Et un grand merci à Alex1205 pour m'avoir proposé son script ;)