Lost !

-----hard working for the furture.

导航

统计

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

 

posted on   失落''80  阅读(171)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示