关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述。下面进入正题: 不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘、金山快盘、酷我音乐、爱奇艺视频、百度杀毒、百度卫士、百度管家等一系列产品。而duilib自己提供的Demo有QQ、QQ旋风、360等等。下面是一部分截图:
看着上面的界面小伙伴们是不是已经迫不及待了呢?来看一看Hello World吧:新建一个空的win32项目,如图:
虽然很丑,但是完成了第一步,接下来我们要开始加载duilib相关文件了,配置这里不多说,如果未配置请参看这篇VS2010 Win32开发应用——Duilib简单配置!
在stdafx.h文件中添加以下代码
第一步就完成了,后面继续学习事件和其它控件,以及皮肤的使用。
工程下载:MyApp
duilib工程:duilibv1.1.7z
如果要发布程序的话,需要附带几个dll库,否则没有安装过运行环境的电脑是跑不起来的。
看着上面的界面小伙伴们是不是已经迫不及待了呢?来看一看Hello World吧:新建一个空的win32项目,如图:
// MyApp.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "MyApp.h" #define S(s) _T(s) //定义一个宏 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { MessageBox(NULL,S("Hello,World!"),S("Title"),MB_OK); return 0; }运行效果:
虽然很丑,但是完成了第一步,接下来我们要开始加载duilib相关文件了,配置这里不多说,如果未配置请参看这篇VS2010 Win32开发应用——Duilib简单配置!
在stdafx.h文件中添加以下代码
#includecpp代码//一定要加此头文件,uirichedit.h 报错:error C2143: 语法错误 : 缺少“;”(在“*”的前面) #include "DuilibUIlib.h" using namespace DuiLib; #ifdef _DEBUG #pragma comment(lib, "DuiLib_d.lib")//debug #else #pragma comment(lib, "DuiLib.lib")//release #endif
// MyApp.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "MyApp.h" #define S(s) _T(s) //定义一个宏 class CDuiFrameWnd : public CWindowWnd, public INotifyUI { public: virtual LPCTSTR GetWindowClassName() const { return S("DUIMainFrame"); } virtual void Notify(TNotifyUI& msg) {} virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; if( uMsg == WM_CREATE ) { CControlUI *pWnd = new CButtonUI; pWnd->SetText(S("Hello World")); // 设置文字 pWnd->SetBkColor(0xFF00FF00); // 设置背景色 m_PaintManager.Init(m_hWnd); m_PaintManager.AttachDialog(pWnd); return lRes; } 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); CDuiFrameWnd duiFrame; duiFrame.Create(NULL, S("DuiLib程序"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE); duiFrame.ShowModal(); return 0; }运行效果
第一步就完成了,后面继续学习事件和其它控件,以及皮肤的使用。
工程下载:MyApp
duilib工程:duilibv1.1.7z
如果要发布程序的话,需要附带几个dll库,否则没有安装过运行环境的电脑是跑不起来的。
收藏的用户(0) X
正在加载信息~
推荐阅读
最新回复 (0)
站点信息
- 文章2303
- 用户1336
- 访客11157317
每日一句
There is always a better way.
总有更好的办法。
总有更好的办法。
IntelliJ IDEA2018~2019.1激活码-注册码
C++实现NAT检测程序
Google Play商城将85款恶意App下架
打开显示interface.png 或者显示interface.swf
【黑苹果安装】——如何在windows下操作EFI分区
Android简单树状实现
Android 8.0应用图标适配
Android Studio3.4.1更新及槽点
C/C++通过WMI和系统API函数获取系统硬件配置信息
DuiLib编译出错:成员声明中不允许限定名
Java中的(耦合)控制反转
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is
#ifdef _DEBUG失效问题
新会员