DuiLib 入门 (1)
工程配置:
1.VS2013新建MFC WIN32工程,删除掉除了stdafx.h之外的所有多余文件,并将项目工程设置为“使用 Unicode 字符集“;
2.Duilib工程文件:
常规--输出目录,中间目录: .\Build\Debug\
字符集 -- 使用 Unicode 字符集
链接器--输出文件:../Debug/DuiLib_ud.dll
附加库目录--.\lib
高级--导入库:../lib/DuiLib_ud.lib
目标计算机--MachineX86 (/MACHINE:X86)
3.“stdafx.h” 添加代码:
#pragma once #include "../DuiLib/UIlib.h" using namespace DuiLib; #ifdef _DEBUG # ifdef _UNICODE # pragma comment(lib, "../lib/DuiLib_ud.lib") # else # pragma comment(lib, "../lib/DuiLib_d.lib") # endif #else # ifdef _UNICODE # pragma comment(lib, "../lib/DuiLib_u.lib") # else # pragma comment(lib, "../lib/DuiLib.lib") # endif #endif
4.工程中添加类文件,加入代码:
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;
}
5.编译运行

浙公网安备 33010602011771号