首页 > 代码库 > Duilib学习三 响应按钮
Duilib学习三 响应按钮
1 #pragma once 2 #include <UIlib.h> 3 using namespace DuiLib; 4 5 #ifdef _DEBUG 6 # ifdef _UNICODE 7 # pragma comment(lib, "DuiLib_ud.lib") 8 # else 9 # pragma comment(lib, "DuiLib_d.lib")10 # endif11 #else12 # ifdef _UNICODE13 # pragma comment(lib, "DuiLib_u.lib")14 # else15 # pragma comment(lib, "DuiLib.lib")16 # endif17 #endif18 19 class CDuiFrameWnd : public CWindowWnd, public INotifyUI20 {21 public:22 virtual LPCTSTR GetWindowClassName() const { return _T("DUIMainFrame"); }23 virtual void Notify(TNotifyUI& msg) 24 {25 if(msg.sType == _T("click"))26 {27 if(msg.pSender->GetName() == _T("btnHello")) 28 {29 ::MessageBox(NULL, _T("我是按钮"), _T("点击了按钮"), NULL);30 }31 }32 }33 34 virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)35 {36 LRESULT lRes = 0;37 38 if( uMsg == WM_CREATE ) 39 {40 CControlUI *pWnd = new CButtonUI;41 pWnd->SetName(_T("btnHello")); // 设置控件的名称,这个名称用于标识每一个控件,必须唯一,相当于MFC里面的控件ID42 pWnd->SetText(_T("Hello World")); // 设置文字43 pWnd->SetBkColor(0xFF00FF00); // 设置背景色44 45 m_PaintManager.Init(m_hWnd);46 m_PaintManager.AttachDialog(pWnd);47 m_PaintManager.AddNotifier(this); // 添加控件等消息响应,这样消息就会传达到duilib的消息循环,我们可以在Notify函数里做消息处理48 return lRes;49 }50 51 if( m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes) ) 52 {53 return lRes;54 }55 56 return __super::HandleMessage(uMsg, wParam, lParam);57 }58 59 protected:60 CPaintManagerUI m_PaintManager;61 };62 63 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)64 {65 CPaintManagerUI::SetInstance(hInstance);66 67 CDuiFrameWnd duiFrame;68 duiFrame.Create(NULL, _T("DUIWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);69 duiFrame.ShowModal();70 return 0;71 }
Duilib学习三 响应按钮
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。