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” 添加代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #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.工程中添加类文件,加入代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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.编译运行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?