Duilib中的控件消息

27 篇文章 0 订阅

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

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

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

消息和事件的区别:

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

本质的不同是:

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

总结消息、事件的来源:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值