VB ListView添加多行气泡式Tooltip提示
VB 里的 ListView 有时候挺难搞,尤其是想加点更人性化的提示信息。
ListView 的 Item 上加多行气泡式 Tooltip就是一个挺实用的小技巧,能让用户一眼看到更多细节,不用点进去查那么麻烦。
原理其实不复杂,主要是靠Windows API里的 Tooltip 控件搞定,自己再封装一个CTooltip类模块,把创建窗口、设置样式和内容这些逻辑都包起来。API 用得多的朋友一看就懂,比如CreateWindowEx
、SendMessage
这些老熟人都有用到。
样式方面用了气泡式的效果,看起来就比较“高级”,而且支持多行文本,像vbCrLf
换行符也都能识别。你只要传一段换好行的字符串进去,Tooltip 就能显示得漂漂亮亮的。
怎么用?你可以在 ListView 绑定完数据后,用For
循环把每个ListItem
都配上 Tooltip,像这样:
Dim tooltip As New CTooltip
tooltip.Init
For i = 0 To lvwMain.ListItems.Count - 1
Dim tipText As String
tipText = "这是一个示例提示文本。" & vbCrLf & "它包含多行内容。"
tooltip.AddTool lvwMain.ListItems(i), tipText
Next
tooltip.Cleanup
Set tooltip = Nothing
响应也快,效果也稳定,不用额外加什么 OCX,纯代码搞定,兼容性也挺不错。就是 API 部分要多注意下,参数传错容易没反应。
如果你在用 VB 写 WinForm,又想让 ListView 交互更友好一点,这套做法蛮值得试试的。
24.72KB
文件大小:
评论区