繁体   English   中英

获取鼠标悬停时ClistBox项的索引

[英]get the index of the ClistBox item on Mouse over

我有一个简单的CListBox控件。 我在其中动态添加文本。 是否可以获取列表框上当前鼠标悬停的项目的索引? 基本上,我想基于鼠标位置为listBox中的每个项目显示一个工具提示。

代码示例非常感谢。

CListBox :: ItemFromPoint成员返回最接近点的项目的项目索引。

该点必须在CListBox客户坐标中。 如果在屏幕坐标中收到它们(例如,通过调用GetCursorPos ),则必须在CListBox上调用CWnd :: ScreenToClient来翻译它们。

第二个参数( bOutside )告诉您位置是否在项目上方。 成员函数分别返回FALSETRUE

我正在写此答案,以便在其他人遇到此问题时其他人可以得到帮助。 首先是第一件事; 您不能直接处理Clistbox中的鼠标移动消息。 因此,您将基于ClistBox类创建一个新类,然后在该类中处理OnMouseMove()。然后,在该OnMouseMove()函数内部,您应基于鼠标坐标将其添加到clistbox中(如IInspectable所述)。

对于代码示例; 见下文。

BOOL b;
int n = ItemFromPoint(point,b);
CString str;
GetText( n,str);
AfxMessageBox(str);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM