ListBox中的字符串超长显示的解决方法

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

使用ToolTip来解决超长文字的显示问题是不错的方案,下面给出了例子的代码。

Option Explicit

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()

Dim i As Integer

For i = 0 To 5

List1.AddItem "ListItem字符串超长超长超长超长超长咯 " & i

Next

End Sub

Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim lParam As Long

Dim lResult As Long

lParam = (CInt(Y / Screen.TwipsPerPixelY) * 2 ^ 16) + CInt(X / Screen.TwipsPerPixelX)

lResult = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal lParam)

If lResult < 0 Or lResult > 32767 Then

List1.ToolTipText = ""

Exit Sub

End If

Dim nIndex As Integer

nIndex = CInt(lResult)

List1.ToolTipText = List1.List(nIndex)

End Sub

在 Win2000 + VB6 中调试通过

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航