Duilib学习日记[1]-简单窗口

-1创建空白的Win32工程

Duilib学习日记[1]-简单窗口_第1张图片

由于VS2017上没有空白win32工程的选项,我就创建了一个普通的空项目

0.将编译好的lib和放到附属lib文件夹,方便引用

 

Duilib学习日记[1]-简单窗口_第2张图片

1.设置包含库目录 lib

Duilib学习日记[1]-简单窗口_第3张图片

2.设置包含目录

Duilib学习日记[1]-简单窗口_第4张图片

3.预定义指令


#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

作用:
用于不同版本的编译,引用不同版本的duilib.lib 这里就是上篇文章部署duilib的时候每个工程模式最好都要生成一次

Debug模式下的unicode版本的duilib_ud.lib
Debug模式下的多字符版本的duilib_d.lib
Release模式下unicode版本的duilib_u.lib
Release模式下多字符版本的duilib.lib

 

4.将dll放在exe的目录下Release|Debug

Duilib学习日记[1]-简单窗口_第5张图片

duilib环境部署完了就可以写代码了

#include  //包含duilib的头文件


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("HelloWord"));
			pWnd->SetBkColor(0x00000000);
			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;
};
#ifdef _DEBUG
#   ifdef _UNICODE
#       pragma comment(lib, "DuiLib_ud.lib")
#   else
#       pragma comment(lib, "DuiLib_d.lib")
#   endif
#else
#   ifdef _UNICODE
#       pragma comment(lib, "DuiLib_u.lib")
#   else
#       pragma comment(lib, "DuiLib.lib")
#   endif
#endif

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;
}

运行结果:

Duilib学习日记[1]-简单窗口_第6张图片

原作者写的教程设置的背景颜色是绿色,我觉得略难看,就设置成黑色了,字体也是黑色,所以就一个黑色窗口hhha 

你可能感兴趣的:(C/C++)