Duilib中的控件消息

来源:互联网 发布:网络金融理财管理 编辑:程序博客网 时间:2024/05/18 06:23

所有继承自CControl类的控件都有事件消息,都可以有DoEvent函数进行事件消息响应。

其余的,可以自定义DoEvent事件,然后自己实现DoEvent函数进行响应。

            TEventUI event;
            event.Type = UIEVENT_KEYDOWN;
            event.chKey = (TCHAR)wParam;
            m_pOwner->DoEvent(event);
            EnsureVisible(m_pOwner->GetCurSel());
            return 0;

消息和事件的区别:

             事件是一个动作 --用户触发的动作。消息是一个信息--传递给系统的信息。

本质的不同是:

             事件由用户(操作电脑的人)触发且只能由用户出发,操作系统能够感觉到由用户出发的事件,并将此事件转换为一个特定的消息发送到程序的消息队列当中去。这里强调的是:可以说用户触发了一个事件,而不能说用户触发了一个消息。用户只能触发事件,而事件只能由用户触发。一个事件产生后,将被操作系统转换为一个消息,所以一个消息可能是由一个事件转换而来的(或者操作系统产生)。一个消息可能会产生另一个消息,但一个消息决不能产生一个事件,事件只能由用户触发。

总结消息、事件的来源:

             事件:只能由用户通过外设的输入产生。

             消息:产生消息的来源有三个,一是由操作系统产生;二是用户触发的事件转换而来;三是由另一个消息产生。

原创粉丝点击