VB-Homepage Tipp 153 |
zu lange Listboxeinträge als Tooltip anzeigen |
Nun ist es also soweit, die Datenbank beinhaltet zwar
schon zwei Projekte für die VB-Version 5.0, aber einen Tipp der reinweg nur für VB5 ist,
gab es bisher noch nie. Der hier aber ist, in der vorgestellten Version, nur mit VB5 zu verwirklichen. Es geht dabei um das Anzeigen von zu langen Listbox Einträgen als Tooltip, eine Funktionalität wie man sie zum Beispiel im Acrobat Reader oder im Explorer bestaunen kann. listtips.vbp Type=Exe Form=listtips.frm IconForm="Form1" Startup="Form1" HelpFile="" Title="Anzeige zu langer Listeinträge" ExeName32="listtips" Command32="" Name="Project1" HelpContextID="0" CompatibleMode="0" MajorVer=1 MinorVer=0 RevisionVer=0 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="" CompilationType=-1 OptimizationType=0 FavorPentiumPro(tm)=0 CodeViewDebugInfo=0 NoAliasing=0 BoundsCheck=0 OverflowCheck=0 FlPointCheck=0 FDIVCheck=0 UnroundedFP=0 StartMode=0 Unattended=0 ThreadPerObject=0 MaxNumberOfThreads=1 listtips.frm VERSION 5.00 Begin VB.Form Form1 Caption = "VB-Homepage Tipp" ClientHeight = 2400 ClientLeft = 60 ClientTop = 345 ClientWidth = 4680 LinkTopic = "Form1" ScaleHeight = 2400 ScaleWidth = 4680 StartUpPosition = 3 'Windows Default Begin VB.CommandButton Command2 Caption = " - Command2 -" Height = 375 Left = 2400 TabIndex = 3 Top = 720 Width = 2175 End Begin VB.CommandButton Command1 Caption = "..geht so leider nur in VB5" Height = 375 Left = 2400 TabIndex = 2 Top = 240 Width = 2175 End Begin VB.ListBox List1 Height = 1035 Left = 120 TabIndex = 0 Top = 240 Width = 2175 End Begin VB.Label Label2 BackStyle = 0 'Transparent Caption = "Tipp von : Matt Vandenbush [matt_vandenbush@whbrady.com]" Height = 255 Left = 120 TabIndex = 4 Top = 2040 Width = 4455 End Begin VB.Label Label1 Alignment = 2 'Center BackStyle = 0 'Transparent Caption = "Anzeigen von zu langen Einträgen aus Listboxen, auch ohne, daß diese markiert sein müssen." Height = 495 Left = 120 TabIndex = 1 Top = 1440 Width = 4335 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False 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() Form1.Top = Screen.Height / 2 - Form1.Height / 2 Form1.Left = Screen.Width / 2 - Form1.Width / 2 With List1 .AddItem "Microsoft© Visual Basic Version 3.0" .AddItem "Microsoft© Visual Basic Professional Edition Version 4.0" .AddItem "Microsoft© Visual Basic Enterprice Edition Version 5.0" End With End Sub Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim lXPoint As Long Dim lYPoint As Long Dim lIndex As Long If Button = 0 Then lXPoint = CLng(X / Screen.TwipsPerPixelX) lYPoint = CLng(Y / Screen.TwipsPerPixelY) With List1 lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((lYPoint * 65536) + lXPoint)) If (lIndex >= 0) And (lIndex <= .ListCount) Then .ToolTippText = .List(lIndex) Else .ToolTippText = "" End If End With End If End Sub Um den Code nutzen zu können, erstellen Sie sich mit einem Editor Dateien, die Sie wie angegeben benennen und fügen den Code ein. Starten Sie dann die *.vbp Datei oder öffnen Sie das Projekt aus VB heraus. |
Tipp-Download |
Quelle : Matt Vandenbush matt_vandenbush@whbrady.com |