Info Bulle ListBox

Kim75

XLDnaute Occasionnel
Bonsoir le forum,

Je vous espère en bonne forme avec ce beau temps qui revient timidement. :)

Utilisant une Form de Jacques que je remercie à l'occasion, je fais un annuaire, mais je rencontre un souci de lisibilité. Il s'agit d'une listbox dont le texte des lignes est un peu long, ce qui fait qu’il n’est visible qu’en partie.

Je me demandais alors s’il y avait moyen d’activer des info bulles affichant le texte de la ligne au survol de la souris, ce serait sympa si quelqu’un pouvait me filer le code, s'il existe bien entendu, sinon on va faire sans.



Cordialement, Kim.
 

JNP

XLDnaute Barbatruc
Re : Info Bulle ListBox

Bonjour Kim75 :),
C'est dommage de mettre ton fichier sur un site extérieur plutôt que sur le forum :mad:...
La propriété que tu cherche, c'est ControlTipText avec la syntaxe
Code:
[I]object[/I].[B]ControlTipText[/B] [= [I]String[/I]]
mais elle est liée au contrôle, pas à une ligne spécifique de ta ListBox, donc il va falloir le déclencher au clic, et non pas au survol (enfin je pense...).
Bon courage :cool:
 

Kim75

XLDnaute Occasionnel
Re : Info Bulle ListBox

Bonjour JNP, le forum :)

Oui en effet, le forum est obligé de limiter le poids des fichiers uploadables à 48,8 Ko, question de survie :)

Et merci pour l'indication, je me disais bien que ce n'étais pas possible de mettre un tooltip ou info bulle sur listbox.

Bien à toi, Kim.
 
Dernière édition:

Kim75

XLDnaute Occasionnel
Re : Info Bulle ListBox

Hi gringo ! :)

Fichtre, j'y ai pas pensé :rolleyes:

Vois-tu je fais partie de ceux qui tiennent compte, non pas de la limite, mais de sa raison, et qui au final, ne connaissent pas de limite, la prévenance fait bon ménage avec la liberté :p

Ciao ciao !
 

Kim75

XLDnaute Occasionnel
Re : Info Bulle ListBox

Salut le forum,

J'ai trouvé deux versions de code dont il est dit qu'une au moins apporte la solution, mais aucune ne marche chez moi, sans doute qu'il faut que j'installe le cotrôle Tooltip :confused:

PHP:
Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove 
    Dim MousePositionInClientCoords As Point = Me.ListBox1.PointToClient(Me.MousePosition) 
    Dim indexUnderTheMouse As Integer = Me.ListBox1.IndexFromPoint(MousePositionInClientCoords) 
    If indexUnderTheMouse > -1 Then 
        Dim s As String = Me.ListBox1.Items(indexUnderTheMouse).ToString 
        Dim g As Graphics = Me.ListBox1.CreateGraphics 
        If g.MeasureString(s, Me.ListBox1.Font).Width > Me.ListBox1.ClientRectangle.Width Then 
            Me.ToolTip1.SetToolTip(Me.ListBox1, s) 
        Else 
            Me.ToolTip1.SetToolTip(Me.ListBox1, "") 
        End If 
        g.Dispose() 
    End If 
End Sub

PHP:
Private Sub ListBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseMove 
    Dim MousePositionInClientCoords As Point = New Point(e.X, e.Y) 
    Dim indexUnderTheMouse As Integer = Me.ListBox1.IndexFromPoint(MousePositionInClientCoords) 
    If indexUnderTheMouse > -1 Then 
        Dim s As String = Me.ListBox1.Items(indexUnderTheMouse).ToString 
        Dim g As Graphics = Me.ListBox1.CreateGraphics 
        If g.MeasureString(s, Me.ListBox1.Font).Width > Me.ListBox1.ClientRectangle.Width Then 
            Me.ToolTip1.SetToolTip(Me.ListBox1, s) 
        Else 
            Me.ToolTip1.SetToolTip(Me.ListBox1, "") 
        End If 
        g.Dispose() 
    End If 
End Sub

Bon dimanche, Kim.
 

Kim75

XLDnaute Occasionnel
Re : Info Bulle ListBox

Bonsoir Kjin, le forum :)

Merci Kjin, c'est super cette technique de label qui affiche le texte de la ligne, j'ai intégré le code au classeur, en essayant de le faire dans tous les sens possibles, mais en vain :mad:

Je suis allé à la Fnac pour trouver un bouquin d'initiation au codage, et la déception fut immédiate lorsque j'entendis la réponse du vendeur que je ne trouverai pas de pareils manuels à la Fnac. :(

Je mets en ligne une des nombreuses "compilations" que j'ai tentées, au cas où tu pourrais jeter un coup d'oeil pour voir s'il y a quelque chose à faire pour la faire fonctionner, je bidouille depuis 1 heure :confused:



Bien à toi, Kim.
 

Kim75

XLDnaute Occasionnel
Re : Info Bulle ListBox

Merci Kjin :)

Je trouve la technique fort utile, surtout que le label est masqué et ne s'affiche qu'au survol de la souris, ce qui fait que ça ne dénature pas la Form affichée.

Bien à toi, Kim.
 

kjin

XLDnaute Barbatruc
Re : Info Bulle ListBox

Bonjour,
Alors voilà
Edit : La valeur du scroll est récupéré avec la propriété TopIndex, donc à priori c'est OK
A+
kjin9
 

Pièces jointes

  • InfoBulle.zip
    29.8 KB · Affichages: 89
Dernière édition:

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch