LVHITTESTINFO t_LvInfo;
DWORD ul_pos = GetMessagePos(); ///<屏幕坐标下光标位置的长整数值
CPoint c_Pnt(LOWORD(ul_pos), HIWORD(ul_pos)); ///<转换成XY坐标(各16位)
m_ListTest.ScreenToClient(&c_Pnt); ///<转换成列表框客户区位置坐标
t_LvInfo.pt = c_Pnt;
t_LvInfo.flags = LVHT_ABOVE;
m_ListTest.SubItemHitTest(&t_LvInfo);
CString cs_Text;
cs_Text.Format(L"行:%d 列:%d ", t_LvInfo.iItem, t_LvInfo.iSubItem);
本文详细介绍了如何通过获取鼠标光标在屏幕坐标系下的位置,并将其转换为列表控件的客户区坐标,进而实现对特定子项的定位与交互操作。重点在于将屏幕坐标转换为客户区坐标的过程,以及利用此信息进行列表控件的子项定位。

1585

被折叠的 条评论
为什么被折叠?



