资源描述:
《Duilib入门文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Duilib入门文档1基本框架一个简单的Duilib程序一般是下面这个样子的://Duilib使用设置部分#pragmaonce#defineWIN32_LEAN_AND_MEAN#define_CRT_SECURE_NO_DEPRECATE#include#include#include"..DuiLibUIlib.h"usingnamespaceDuiLib;#ifdef_DEBUG#ifdef_UNICODE#pragmacomment(lib,"..\bin\
2、DuiLib_ud.lib")#else#pragmacomment(lib,"..\bin\DuiLib_d.lib")#endif#else#ifdef_UNICODE#pragmacomment(lib,"..\bin\DuiLib_u.lib")#else#pragmacomment(lib,"..\bin\DuiLib.lib")#endif#endif//窗口实例及消息响应部分classCFrameWindowWnd:publicCWindowWnd,publicINotifyUI{public
3、:CFrameWindowWnd(){};LPCTSTRGetWindowClassName()const{return_T("UIMainFrame");};UINTGetClassStyle()const{returnUI_CLASSSTYLE_FRAME
4、CS_DBLCLKS;};voidOnFinalMessage(HWND/*hWnd*/){deletethis;};voidNotify(TNotifyUI&msg){if(msg.sType==_T("click")){杭州月牙儿网络Duilib入门文档if
5、(msg.pSender->GetName()==_T("closebtn")){Close();}}}LRESULTHandleMessage(UINTuMsg,WPARAMwParam,LPARAMlParam){if(uMsg==WM_CREATE){m_pm.Init(m_hWnd);CControlUI*pButton=newCButtonUI;pButton->SetName(_T("closebtn"));pButton->SetBkColor(0xFFFF0000);m_pm.AttachDialog(
6、pButton);m_pm.AddNotifier(this);return0;}elseif(uMsg==WM_DESTROY){::PostQuitMessage(0);}LRESULTlRes=0;if(m_pm.MessageHandler(uMsg,wParam,lParam,lRes))returnlRes;returnCWindowWnd::HandleMessage(uMsg,wParam,lParam);}public:CPaintManagerUIm_pm;};//程序入口及Duilib初始化部分i
7、ntAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCE/*hPrevInstance*/,LPSTR/*lpCmdLine*/,intnCmdShow){CPaintManagerUI::SetInstance(hInstance);CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath());CFrameWindowWnd*pFrame=newCFrameWindowWnd();if(pFrame==NU
8、LL)return0;pFrame->Create(NULL,_T("测试"),UI_WNDSTYLE_FRAME,WS_EX_WINDOWEDGE);pFrame->ShowWindow(true);CPaintManagerUI::MessageLoop();return0;}杭州月牙儿网络Duilib入门文档可以看出,这个程序分三个部分:lDuilib使用设置部分,这个部分都是一些使用Duilib所需要的头文件和自动链接到相应的Duilib库,一般来说基本上不用改动。l窗口实例及消息响应部分,基本的窗口实现类和简
9、单的消息响应,需要重点关注的是voidNotify(TNotifyUI&msg)中的事件处理,这是Duilib程序最重要的部分。l程序入口及Duilib初始化部分,Duilib初始化和窗口创建。编译这个程序,出现如下效果:点击红色区域的任意位置,窗口会立即关闭。这样我们就完成了最简单的一个Duilib程序编写,虽然这个例子还不能展