您当前的位置: 首页 >  ui

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第一章 第五小节Duilib的CPaintManagerUI类(二)-消息处理

插件开发 发布时间:2022-03-24 08:11:02 ,浏览量:1

文章目录
    • 1.CPaintManagerUI消息处理
    • 2.作者答疑

1.CPaintManagerUI消息处理

  窗口的消息处理函数是界面UI最重要的部分,它接受来自操作系统非常多的消息,在上一小节中,知道在CPaintManagerUI中的MessageHandler函数中,是窗口消息流程的一部分,其中处理的消息有,WM_NCACTIVATE,WM_NCCALCSIZE,WM_NCPAINT,WM_APP+1,WM_CLOSE,WM_ERASEBKGND,WM_PAINT,WM_PRINTCLIENT,WM_GETMINMAXINFO,WM_SIZE,WM_TIMER,WM_MOUSEHOVER,WM_MOUSELEAVE,WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,WM_LBUTTONUP,WM_RBUTTONDOWN,WM_RBUTTONUP,WM_MBUTTONDOWN,WM_MBUTTONUP,WM_CONTEXTMENU,WM_MOUSEWHEEL,WM_CHAR,WM_KEYDOWN,WM_KEYUP,WM_SETCURSOR,WM_SETFOCUS,WM_KILLFOCUS,WM_NOTIFY,WM_COMMAND,WM_CTLCOLOREDIT,WM_CTLCOLORSTATIC。它处理了与窗口相关的使用频率非常高的消息。它接受到了这些消息,然后通过内部的事件机制,转发给相应的子控件。 第一部分是消息过滤器,如下所示:

bool CPaintManagerUI::AddMessageFilter(IMessageFilterUI* pFilter)//继承至IMessageFilterUI接口的对象
{
    if (pFilter == NULL) return false;

    ASSERT(m_aMessageFilters.Find(pFilter)            
关注
打赏
1665481431
查看更多评论
0.0671s