c++ - C/C++ 通用控件检测 TVItem 的双击

标签 c++ c winapi treeview common-controls

是否有任何方法可以检测是否使用通用控件和 WINAPI 双击了 TreeView 控件(特别是 TVITEM)? 我的意思是在我的 wndproc 函数中。

如果是这样,那么 msg、wParam 和 lParam 是什么?

最佳答案

TreeView 控件发送 NM_DBLCLK双击它时发出通知,其中 uMsg = WM_NOTIFYlParam 指向 NMHDR 结构(根据文档。

然后您可以向 TreeView 控件发送 TVM_HITTEST消息来确定光标下的项目,例如:

TVHITTESTINFO tvhti = {};
GetCursorPos (&tvhti.pt);
ScreenToClient (hTreeView, &tvhti.pt);
SendMessage (hTreeView, TVM_HITTEST, 0, (LPARAM) &tvhti);

请参阅documentation对于 TVM_HITTEST 返回的值。

关于c++ - C/C++ 通用控件检测 TVItem 的双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61860279/

相关文章:

c++ - 指针和函数的部分特化

C SDL2-是否有可能消除一些抽象层?

c - 将数据设置到nodePtr而不覆盖

winapi - CopyIcon() 与 DuplicateIcon()?

c++ - 解析 xml 文件并查找任何错误

c++ - 将 double 转换为固定宽度的字符串

C++11:从旧式枚举迁移到枚举类的正确方法是什么?

C 组合日期和时间值

java - 使用嵌入式 JRE 将 Shaded Java (jar) 构建为 Win32 可执行文件?

c++ - 如何使用 Win32 api 将 TreeView 项目设置为可见/不可见