[R] Afficher une image en survolant un texte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Kreg
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 06 juin 2013 10:00
Status : Hors ligne

[R] Afficher une image en survolant un texte

#1

Message 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
Modifié en dernier par Kreg le mer. 10 juil. 2013 14:32, modifié 1 fois.
alex1205
Niveau 5
Niveau 5
Messages : 123
Enregistré le : dim. 07 mars 2010 13:59
Status : Hors ligne

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

#2

Message 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
Le "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
Kreg
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 06 juin 2013 10:00
Status : Hors ligne

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

#3

Message 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
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

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

#4

Message 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 ?
Kreg
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 06 juin 2013 10:00
Status : Hors ligne

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

#5

Message 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 ;)
Répondre