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

C/C++ Common Controls detecting double-click of TVItem

有什么方法可以检测是否使用公共控件和 WINAPI 双击树视图控件(特别是 TVITEM)? 我的意思是在我的表单的 wndproc 函数中。

如果是这样,那么在那种情况下 msg、wParam 和 lParam 是什么?

双击树视图控件时会发送 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);

有关 TVM_HITTEST 返回的值,请参阅 documentation