VB 5/6-Tipp 0013: Listboxeinträge individuell mit ToolTip versehen
von ActiveVB
Beschreibung
Manchmal kann es sinnvoll sein, zu den verschiedenen Einträgen in einer Listbox begleitende Informationen zur Verfügung zu stellen. Dieses kleine Programm ermöglicht deshalb zu jedem Eintrag einer Listbox einen beliebigen ToolTip einzuspielen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Listen-Steuerelement "List1" Option Explicit 'Deklaration: Globale API-Konstanten Private Const LB_ITEMFROMPOINT As Long = &H1A9& 'Deklaration: Globale API-Funktionen 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 'Deklaration: Globale Form-Variablen Dim arrstrItem(0 To 8) As String Dim arrstrToolTip(0 To 8) As String Private Sub Form_Load() Call Liste_Fuellen End Sub Private Sub Liste_Fuellen() 'Deklaration: Lokale Prozedur-Variablen Dim i As Long arrstrItem(0) = "Karotten" arrstrItem(1) = "Rüben" arrstrItem(2) = "Spinat" arrstrItem(3) = "Kartoffeln" arrstrItem(4) = "Kohl" arrstrItem(5) = "Pilze" arrstrItem(6) = "Erbsen" arrstrItem(7) = "Salat" arrstrItem(8) = "Kolatten" arrstrToolTip(0) = "sind gut für die Augen" arrstrToolTip(1) = "braucht man um Zucker zu raffinieren" arrstrToolTip(2) = "hat wenig Eisen" arrstrToolTip(3) = "haben alle Bauern" arrstrToolTip(4) = "ist nicht mehr Kanzler" arrstrToolTip(5) = "sind giftig" arrstrToolTip(6) = "verursachen Blähungen" arrstrToolTip(7) = "schmeckt nicht" arrstrToolTip(8) = "gibts nicht" For i = 0 To UBound(arrstrItem) List1.AddItem (arrstrItem(i)) Next i End Sub Private Sub List1_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) 'Deklaration: Lokale Prozedur-Variablen Dim lngIndex As Long Dim lngPosX As Long Dim lngPosY As Long lngPosX = CLng(x / Screen.TwipsPerPixelX) lngPosY = CLng(Y / Screen.TwipsPerPixelY) lngIndex = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal (lngPosY * 65536 + lngPosX)) If lngIndex > -1 And lngIndex < List1.ListCount Then List1.ToolTipText = arrstrToolTip(lngIndex) Else List1.ToolTipText = "" End If End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 8 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Timm Linder am 25.02.2003 um 15:07
Praktisch dieser Tipp, sowas habe ich schon immer gesucht.....
@Jürgen Springer:
Bei mir funktioniert das ohne Probleme (Win XP, VB6 SP5)...
@Roland Woitok:
Ja, das habe ich mich auch schon gefragt, mit vbCrLf oder anderen Konstanten funktioniert es jedenfalls nicht. Ich denke mal, dass man dafür eine andere Art von Tooltip braucht, vermutlich ein Zusatz-Steuerelement.
Kommentar von TheShibbyOne am 10.01.2003 um 18:26
ähhh...wat is??
Kommentar von Mok am 10.06.2002 um 17:32
Hallo Leute, meine Frage ist wie kann ich die aktuell eingelesene Daten (Über einer Schnittstelle) in eine Datenbank speichern.
und zwar in eine excel Datenbank.
Kommentar von peter am 06.03.2002 um 15:37
Sollte man nicht erst mal Deutsch lernen, bevor man Programmieren will ?
Kommentar von Jürgen Springer am 08.01.2002 um 14:52
Sorry!!! Falscher tip
diser funzt echt gut
Kommentar von Jürgen Springer am 08.01.2002 um 14:47
leider funktionirt der tip nicht wen die einträge mer sind als angezeikt werden können. wen man runter scrolt merkt der tip es nicht und nimt den falschen listindex.
wie behebe ich das???
Kommentar von Steffen Ludloff am 24.04.2001 um 14:24
Wie kann ich so etwas im ListView machen? Ich weiß nicht, welche Konstante ich anstelle von Private Const LB_ITEMFROMPOINT = &H1A9
nehmen soll. Können Sie mir einen Tip geben?
Kommentar von Roland Woitok am 12.03.2001 um 17:53
Ist es möglich einen Tooltiptext in mehereren Zeilen darzustellen (wenn der Text etwas länger ist)?