分为以下三步:
1)首先在C盘下简历DuiLib的文件夹,在DuiLib文件夹下建立builid文件夹,build文件夹下建立include文件夹和x86文件夹,x86文件夹下建立lib和bin文件夹
这个我仿照的是OpenCv代码的组织形式
2)将Duilib源代码中的Duilb的include头文件考到C盘Duilib相应的目录中
3)将DuiLib.lib库放在x86下的lib中,DuiLib.dll放在bin下
二 配置系统环境
将C:\Duilib\build\x86\bin放在系统环境中
三 建立项目,配置包含目录和库目录(类似OpenCv)
四 配置连接器的,附加依赖项DuiLib.lib
五 写测试用例
1 建立一个空的WIN32项目
2 编写以下代码,运行
#pragma once
#include <UIlib.h>
using namespace DuiLib;
class CDuiFrameWnd : public CWindowWnd, public INotifyUI
{
public:
virtual LPCTSTR GetWindowClassName() const { return _T("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(_T("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, _T("DUIWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
duiFrame.ShowModal();
return 0;
}