在鼠标悬停上获取 ClistBox 项的索引
get the index of the ClistBox item on Mouse over
我有一个简单的CListBox控件。我在其中动态添加文本。是否可以获取鼠标当前悬停在列表框上的项的索引?基本上,我想根据鼠标位置为列表框中的每个项目显示工具提示。
非常感谢代码示例。
CListBox::ItemFromPoint 成员返回最靠近点的项的项索引。
该点需要位于CListBox
的客户端坐标中。如果您在屏幕坐标中收到它们(例如,通过调用 GetCursorPos),则必须在CListBox
上调用 CWnd::ScreenToClient 来翻译它们。
第二个参数 (bOutside) 告诉您位置是否在项目上方。成员函数分别返回 FALSE
或 TRUE
。
我正在写这个答案,以便其他人在其他人面临此问题时可以获得帮助。首先要做的事;您无法直接从 Clistbox 处理鼠标移动消息。因此,您基于 ClistBox 类创建一个新类,然后在该类中处理 OnMouseMove()。然后,在该 OnMouseMove() 函数中,您应该根据鼠标坐标在列表框中获取项目(如 IInspectable 所述)。
有关代码示例;请参见下文。
BOOL b;
int n = ItemFromPoint(point,b);
CString str;
GetText( n,str);
AfxMessageBox(str);
相关文章:
- 数组索引的值没有增加
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 查找最接近的大于当前数字的数字的索引
- 在C++中调整向量中的索引
- 重载元组索引运算符-C++
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 为std::string的某个索引赋值
- 并行用于C++17中数组索引范围内的循环
- 跟随整数索引列表的自定义类迭代器
- 如何在for循环中包含两个索引值的测试条件
- D3D11-将混合权重和索引传递到顶点着色器
- 将转换字符键入 int 以用作向量C++的索引
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 如何为圆环创建索引
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 查找字符在两个索引之间出现的次数
- Azure Kinect 使用正文索引映射裁剪正文
- 如何查找哪个类对象位于数组的特定索引上(多态性)
- 数组索引重载错误
- 在鼠标悬停上获取 ClistBox 项的索引