赞
踩
DuiLib界面库学习笔记(开始例子)
编译好DuiLib之后,接下来就可以开始开发实际的应用程序了。
首先,创建Win32项目DuilibDemo,配置类型为为应用程序,修改项目属性:
WIN32
NDEBUG
_WINDOWS
在项目工程中stdafx.h文件中包含DuiLib头文件和库目录:
头文件为:
引入代码为:
- // Dullib库
- #include <windows.h>
- #include <objbase.h>
-
- #include "include\DuiLib\UIlib.h"
-
- using namespace DuiLib;
-
- #ifdef _DEBUG
- # ifdef _UNICODE
- # pragma comment(lib, "lib\\DuiLib\\DuiLib_ud.lib")
- # else
- # pragma comment(lib, "lib\\DuiLib\\DuiLib_d.lib")
- # endif
- #else
- # ifdef _UNICODE
- # pragma comment(lib, "lib\\DuiLib\\DuiLib_u.lib")
- # else
- # pragma comment(lib, "lib\\DuiLib\\DuiLib.lib")
- # endif
- #endif
新建一个继承自WindowImplBase的类CDuilibDemoWnd:
- #pragma once
-
- class CDuilibDemoWnd :
- public WindowImplBase
- {
- public:
- CDuilibDemoWnd(void);
- ~CDuilibDemoWnd(void);
- protected:
- // 需要返回 皮肤XML 所在的文件夹
- virtual CDuiString GetSkinFolder() { return _T ("skin"); };
-
- // 需要返回 皮肤 XML 的文件名(也可以包含路径)
- virtual CDuiString GetSkinFile() { return _T ("DuilibDemo.xml"); };
-
- // 需要返回这个窗口的类名,这个类名用于 RegisterClass.
- virtual LPCTSTR GetWindowClassName(void) const { return _T ("DuilibDemo_Wnd"); };
- };
- // DuilibDemo.cpp : 定义控制台应用程序的入口点。
- //
-
- #include "stdafx.h"
- #include "DuilibDemoWnd.h"
-
- int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
- {
- // 加载XML的时候,需要使用该句柄去定位EXE的路径,才能加载XML的路径
- CPaintManagerUI::SetInstance(hInstance);
-
- // 生成对象
- CDuilibDemoWnd* wnd = new CDuilibDemoWnd;
- wnd->Create(NULL, NULL, UI_WNDSTYLE_DIALOG, 0);
- wnd->CenterWindow();
- // 模态对话框代替非模态对话框显示
- wnd->ShowModal();
- //wnd->ShowWindow();
- // 消息循环
- //CPaintManagerUI::MessageLoop();
-
- // 删除对象
- delete wnd;
- return 0;
- }
网上比较好的DuiLib学习博客:
http://www.cnblogs.com/Alberl/p/3354459.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。