2021 Duilib最新入门教程(七)Duilib处理消息

前言

  在前面有提到:使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。
  关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻辑。
  

例子

// 界面上显示一个按钮 按钮名字为btn
<Button name="btn" text="按钮" />

// 点击按钮,会激活按钮控件,然后产生消息:DUI_MSGTYPE_CLICK
bool CButtonUI::Activate()
{
	if( !CControlUI::Activate() ) return false;
	if( m_pManager != NULL ) 
        m_pManager->SendNotify(this, DUI_MSGTYPE_CLICK);
	return true;
}

// 处理消息 重写INotifyUI::Notify
virtual void Notify(TNotifyUI& msg) 
{
    // 处理Duilib点击消息 DUI_MSGTYPE_CLICK
	if (msg.sType == DUI_MSGTYPE_CLICK)	
	{
        // 判断是否是btn按钮
		if (msg.pSender->GetName() == _T("btn"))
		{
			::MessageBox(NULL, _T("按钮内容"), _T("按钮标题"), NULL);
		}
	}
}

  

小结

  Duilib处理消息,是在Notify函数里面进行处理:先判断Duilib消息类型,再判断是哪个控件,最后做出消息处理对应的操作。
  
Duilib技术交流群:799142530
源码地址:https://github.com/KongKong20/DuilibTutor

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值