Dui学习笔记

#pragma once
#include <UIlib.h>
using namespace DuiLib;

#ifdef _DEBUG
#pragma comment(lib, "DuiLib_d.lib")
#else
#pragma comment(lib, "DuiLib.lib")
#endif
class CDuiFrame :public CWindowWnd, public INotifyUI
{
public:
	virtual LPCTSTR GetWindowClassName() const { return _T("框架测试"); }
	virtual void Notify(TNotifyUI &msg)//消息处理在这里
	{
		if (msg.sType == _T("click"))//判断是不是单机消息
		{
			if (msg.pSender->GetName() == _T("Btn1"))
			{
				::MessageBox(NULL, _T("我是按钮"), _T("被单击了"), NULL);
			}
		}
	}
	virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
	{
		LRESULT lRes = 0;
		if (uMsg == WM_CREATE)
		{
			CControlUI*pBtn = new CButtonUI;//创建一个按钮类
			pBtn->SetName(_T("Btn1"));
			pBtn->SetText(_T("测试窗口演示"));//设置标题
			pBtn->SetBkColor(0xFF00FF00);//设置背景颜色
			
			m_PaintManager.Init(m_hWnd);
			m_PaintManager.SetInitSize(500,300);
			m_PaintManager.AttachDialog(pBtn);
			m_PaintManager.AddNotifier(this);//添加消息响应
			return lRes;
		}	
		else if (uMsg == WM_NCACTIVATE)
		{
			if (!::IsIconic(m_hWnd))
			{
				return (wParam == 0) ? TRUE : FALSE;
			}
		}
		else if (uMsg == WM_NCCALCSIZE)
		{
			return 0;
		}
		else if (uMsg == WM_NCPAINT)
		{
			return 0;
		}

		
		if (m_PaintManager.MessageHandler(uMsg,wParam,lParam,lRes))
		{
			return lRes;
		}
		return __super::HandleMessage(uMsg, wParam, lParam);
	}
protected:
	CPaintManagerUI m_PaintManager;
};
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
	CPaintManagerUI::SetInstance(hInstance);
	CDuiFrame duiFrame;
	duiFrame.Create(NULL, _T("我的窗口DUI程序"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
	duiFrame.ShowModal();

	return 0;
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值