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.编译运行

 

posted @ 2017-11-06 11:09  微笑的''80  阅读(182)  评论(0)    收藏  举报