【问题标题】:C/C++ Common Controls detecting double-click of TVItem检测 TVItem 双击的 C/C++ 通用控件
【发布时间】:2020-09-03 16:50:31
【问题描述】:

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

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

【问题讨论】:

    标签: c++ c winapi treeview common-controls


    【解决方案1】:

    当您双击树视图控件时,它会发送一个NM_DBLCLK 通知,其中uMsg = WM_NOTIFYlParam 根据文档指向NMHDR 结构。

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

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

    请参阅documentation 了解TVM_HITTEST 返回的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      相关资源
      最近更新 更多