你试试 把滚动条的偏移也算进去了 我这里正常
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 表头句柄 | 整数型 | | | | 列数量 | 整数型 | | | | i | 整数型 | | | | 列左边界 | 整数型 | | | | 列宽度 | 整数型 | | | | 滚动偏移 | 整数型 | | |
表头句柄 = SendMessageA (虚表 [1 ]. 取窗口句柄 (), #LVM_GETHEADER, 0, 0 ) 如果真 (表头句柄 = 0 ) 返回 () 列数量 = 虚表 [1 ]. 取列数 ()滚动偏移 = GetScrollPos (虚表 [1 ]. 取窗口句柄 (), #SB_HORZ ) 像素 = 像素 + 滚动偏移 列左边界 = 0 计次循环首 (列数量, i ) 列宽度 = 虚表 [1 ]. 取列宽 (i - 1 ) 如果 (像素 ≥ 列左边界 且 像素 < 列左边界 + 列宽度 ) 调试输出 (“虚表1表头被左键单击了,被单击的列序号为” + 到文本 (i - 1 ))  跳出循环 ()  列左边界 = 列左边界 + 列宽度   计次循环尾 ()|
| LVM_GETHEADER | 4127 | | | SB_HORZ | 0 | |
|
| SendMessageA | 整数型 | | |
| user32.dll | |
| SendMessageA | |
| hWnd | 整数型 | | | | Msg | 整数型 | | | | wParam | 整数型 | | | | lParam | 整数型 | | |
|
| GetScrollPos | 整数型 | | |
| user32.dll | |
| GetScrollPos | |
| hWnd | 整数型 | | | | nBar | 整数型 | | |
|