由於工作需要學習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。
示例代碼下載:點擊打開鏈接
運行效果如下圖: