• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-5-25 09:21 | 作者: 40Star | 来源: 互联网 | 查看: 30次 | 进入软件测试论坛讨论

领测软件测试网

使用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 中调试通过

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/