duilib的itemdbclick为什么不能用啊,我看着宏定义也有
#define DUI_MSGTYPE_ITEMDBCLICK (_T("itemdbclick"))
但是就是不知道为什么不能用
duilibi的temdbclick不能用
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
树莓大王 2023-06-27 09:41关注DUI_MSGTYPE_ITEMDBCLICK是Duilib中定义的消息类型,用于处理列表控件中的项双击事件。如果您无法使用DUI_MSGTYPE_ITEMDBCLICK处理项双击事件,可能是由于以下原因:没有设置列表控件的项双击消息处理函数
在使用
DUI_MSGTYPE_ITEMDBCLICK处理列表控件的项双击事件之前,需要先设置列表控件的项双击消息处理函数。可以使用CListUI::AttachBubbledEvent函数来设置:````c++
pListUI->AttachBubbledEvent(DUI_MSGTYPE_ITEMDBCLICK, OnItemDoubleClick);
```在上面的示例代码中,
pListUI是指向列表控件的指针,OnItemDoubleClick是项双击消息处理函数的回调函数。没有发送项双击消息
当用户双击列表控件中的某个项时,列表控件会向父容器发送项双击消息。如果父容器没有正确处理这个消息,就无法触发项双击事件。在父容器中,需要使用
CControlUI::HandleMessage函数来处理项双击消息:````c++
LRESULT CMyControlUI::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{if (uMsg == WM_NOTIFY && wParam == DUI_MSGTYPE_ITEMDBCLICK) { // 处理项双击事件 return OnItemDoubleClick(uMsg, wParam, lParam); } else { return __super::HandleMessage(uMsg, wParam, lParam); }}
```在上面的示例代码中,
CMyControlUI是父容器的类名,OnItemDoubleClick是项双击消息处理函数的回调函数。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报