【发布时间】:2020-09-03 16:50:31
【问题描述】:
有什么方法可以检测树视图控件(特别是 TVITEM)是否被使用 Common Controls 和 WINAPI 双击? 我的意思是在表单的 wndproc 函数中。
如果是,那么这种情况下的 msg、wParam 和 lParam 是什么?
【问题讨论】:
标签: c++ c winapi treeview common-controls
有什么方法可以检测树视图控件(特别是 TVITEM)是否被使用 Common Controls 和 WINAPI 双击? 我的意思是在表单的 wndproc 函数中。
如果是,那么这种情况下的 msg、wParam 和 lParam 是什么?
【问题讨论】:
标签: c++ c winapi treeview common-controls
当您双击树视图控件时,它会发送一个NM_DBLCLK 通知,其中uMsg = WM_NOTIFY 和lParam 根据文档指向NMHDR 结构。
然后您可以向树视图控件发送TVM_HITTEST 消息以确定光标下的项目,例如:
TVHITTESTINFO tvhti = {};
GetCursorPos (&tvhti.pt);
ScreenToClient (hTreeView, &tvhti.pt);
SendMessage (hTreeView, TVM_HITTEST, 0, (LPARAM) &tvhti);
请参阅documentation 了解TVM_HITTEST 返回的值。
【讨论】: