由于工作需要学习Duilib界面库基本用法后发现自己不满足与现状就开始瞎折腾,由于手上没有项目也么有PS素材就直接从别人博客看到了防酷狗音乐觉得很有意思,所以我这里就直接把别人源码拿过来,但是对于一个刚入手的新人来说把一个已经实现完毕的项目源码给你恐怕也是只是看看而已,所以我就发了一点时间,自己根据源码实现一遍并且把每一天的实现过程都分享给大家。废话少说直接进入主题吧!
1、使用VS2013创建一个新项目 Windows应用程序 选择空项目,项目名(clonekugou)即可,选择空项目这里主要是为了不让系统生成一堆windos框架代码。
2、将官方开源的Duilib的Duilib文件夹拷贝到自己建立的工程里面 并添加到项目中,并编译生成bin与lib文件夹 注意编译方式根据需要我选择(Unicode Debug)如下图
编译后生成bin与lib文件夹
3、设置自己的应用程序输出目录为bin目录并添加额外包含目录
C/C++常规里面添加额外包含目录
4、自己的空项目clonekugou添加一个duilib.h文件,包含一些头文件(即头文件的头文件暂时先包含一个头文件)如下:
#pragma once
#include "UIlib.h"
5、自己的空项目clonekugou添加添加一个main.cpp文件,添加入口函数。
#include "duilib.h"
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
return 0;
}
6、编译通过并在bin目录下生成exe到此环境配置OK 如下图。
到此第一天项目配置完成。
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
CPaintManagerUI::SetInstance(hInstance);
CDuiFrameWnd *pFrame = new CDuiFrameWnd(_T("xmls\\Main_dlg.xml"));
pFrame->Create(NULL, _T("Zhww音乐盒"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
pFrame->ShowModal();
return 0;
}
上面代码如果有红波浪线duilib.h中增加使用命令空间如下代码
#pragma once
#include "UIlib.h"
using namespace std;
using namespace DuiLib;
CDuiFrameWnd类是需要写个框架类需要继承public WindowImplBase
增加自定义控件类CHotButtonUI (HotButtonUI.h,HotButtonUI.cpp)。
CDuiFrameWnd类增加识别新控件函数CreateControl。
示例代码下载:点击打开链接
运行效果如下图: