vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Controls · ListBox   |   VB-Versionen: VB4, VB5, VB604.12.03
ListBox mit laufender ToolTip-Anzeige

Diesmal zeigen wir Ihnen, wie sich in der Standard-ListBox der Eintrag unter dem Mauszeiger als ToolTip anzeigen lässt.

Autor:   ArthurWBewertung:     [ Jetzt bewerten ]Views:  12.406 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Heute zeigen wir Ihnen eine Möglichkeit, wie sich in der Standard-ListBox von VB der Eintrag unter dem Mauszeiger als ToolTip anzeigen lässt.

Erstellen Sie hierzu ein neues Projekt, platzieren auf die Form eine ListBox namens List1 und fügen nachfolgenden Code in das Codefenster der Form1 ein:

Option Explicit
 
' Benötigte API-Deklaration
Private Declare Function SendMessage Lib "user32" _
  Alias "SendMessageA" ( _
  ByVal hwnd As Long, _
  ByVal wMsg As Long, _
  ByVal wParam As Long, _
  lParam As Any) As Long
 
Private Const LB_ITEMFROMPOINT = &H1A9
Private Sub Form_Load()
  ' ein paar Testeinträge
  With List1
    .AddItem "orion.software@digitelone.com"
    .AddItem "Johann Wolfgang von Goethe"
    .AddItem "Dieter Otter http://www.vbarchiv.net"
  End With
End Sub
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' ToolTip-Anzeige realisieren
  Dim lXPoint As Long
  Dim lYPoint As Long
  Dim lIndex As Long
 
  ' nur, wenn kein Mausbutton gedrückt ist
  If Button = 0 Then
 
    ' Umrechnen der Mauskoordinaten in Pixel
    lXPoint = CLng(X / Screen.TwipsPerPixelX)
    lYPoint = CLng(Y / Screen.TwipsPerPixelY)
 
    With List1
      ' ListIndex anhand Mausposition ermitteln
      lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, _
        0, ByVal ((lYPoint * 65536) + lXPoint))
 
      ' ToolTip anzeigen...
      If (lIndex >= 0) And (lIndex <= .ListCount) Then
        .ToolTipText = .List(lIndex)
      Else
        ' ... bzw. letzten ToolTip löschen
        .ToolTipText = ""
      End If
    End With
  End If
End Sub

Starten Sie das Projekt und bewegen den Mauszeiger auf einen Eintrag. Warten Sie kurz, bis der ToolTip erscheint und bewegen den Mauszeiger dann auf einen anderen Eintrag
 

Dieser Tipp wurde bereits 12.406 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel