报告列表视图中气球样式工具提示中的词干位置错误

我想将列表视图控件的工具提示认样式更改为气球

我首先调用ListView_GetToolTips()来获取列表视图的工具提示控件的HWND ,然后使用getwindowlongPtr() / SetwindowLongPtr()添加TTS_BALLOON样式。

我处理LVN_GETINFOTIP以自定义列表视图中项目(第一列)的工具提示:为第一列项目显示的工具提示文本实际上是第三列文本的副本。 其他列(子项)由列表视图自动pipe理。

第一列项目的气球样式工具提示看起来不错 ; 他们的茎正确定位:

如何在列表视图(Windows窗体C#)中创build一个平面的列标题button

Windows ListView控件(或类似的),可以有多列checkBox

用户向上滚动时,在ListView Windows Phone 8.1 RT App中调用IncrementalLoading

Windows 7触摸屏“耸肩”

但是第二列的工具提示看起来是错误 ,例如气球被绘制,就好像它被引用到鼠标光标所指的实际行下面的一行中的子项。

在下面的图片中,“星号”表示鼠标光标在出现提示时的位置,但工具提示的指针指向下面一行,用椭圆标记

奇怪的是, 第三列的工具提示似乎正确绘制

这是在列表视图控制中的错误? (我正在使用Windows 7)

或者我在这里错过了什么?

ListView使用一个跟踪工具提示并定位它展开,并且显示太小的列中的隐藏文本。 它并不期望它的工具提示一个气球,所以不能弥补这一点。

您需要对工具提示进行TTM_TRACKPOSITION从ListView中查看TTM_TRACKPOSITION消息,并调整坐标。

你的第二个问题 – 阴影背景来自系统主题。 你应该能够通过调用工具提示SetwindowTheme (我不知道为什么ListView禁用提示主题)。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....