网上找到Duilib入门教程中,第一个给的时基于SDK的例子,在这里,自己写了个MFC的,与入门教程中的例子一样。

新建一个窗口类(CTestDlg)

TestDlg.h内容如下:

  1. #pragma once
  2. class CTestDlg:public CWindowWnd, INotifyUI
  3. {
  4. public:
  5. CTestDlg(void);
  6. ~CTestDlg(void);
  7. public:
  8. LPCTSTR GetWindowClassName() const;
  9. UINT GetClassStyle() const;
  10. void OnFinalMessage(HWND hWnd);
  11. void Notify(TNotifyUI& msg);
  12. LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  13. private:
  14. CPaintManagerUI m_pm;
  15. };

TestDlg.cpp内容如下:

  1. #include "StdAfx.h"
  2. #include "TestDlg.h"
  3. CTestDlg::CTestDlg(void)
  4. {
  5. }
  6. CTestDlg::~CTestDlg(void)
  7. {
  8. }
  9. LPCTSTR CTestDlg::GetWindowClassName() const
  10. {
  11. return L"CTestDlg";
  12. }
  13. UINT CTestDlg::GetClassStyle() const
  14. {
  15. return UI_CLASSSTYLE_FRAME | CS_DBLCLKS;
  16. }
  17. void CTestDlg::OnFinalMessage(HWND hWnd)
  18. {
  19. }
  20. void CTestDlg::Notify(TNotifyUI& msg)
  21. {
  22. if( msg.sType == _T("click") ) {
  23. if( msg.pSender->GetName() == _T("closebtn") ) {
  24. Close();
  25. }
  26. }
  27. }
  28. LRESULT CTestDlg::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
  29. {
  30. if( uMsg == WM_CREATE ) {
  31. m_pm.Init(m_hWnd);
  32. CControlUI *pButton = new CButtonUI;
  33. pButton->SetName(_T("closebtn"));
  34. pButton->SetBkColor(0xFFFF0000);
  35. m_pm.AttachDialog(pButton);
  36. m_pm.AddNotifier(this);
  37. return 0;
  38. }
  39. else if( uMsg == WM_DESTROY ) {
  40. ::PostQuitMessage(0);
  41. }
  42. LRESULT lRes = 0;
  43. if( m_pm.MessageHandler(uMsg, wParam, lParam, lRes) ) return lRes;
  44. return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
  45. }

然后,在主对话框的类中,增加一个成员变量

  1. CTestDlg m_testDlg;

在OnInitDialog函数中,增加如下两行代码:

  1. m_testDlg.Create(*this, NULL, UI_WNDSTYLE_CHILD, 0, 0, 0, 642, 520);
  2. m_testDlg.ShowWindow(TRUE);

编译运行,即可。

MFC中使用Duilib--1的更多相关文章

  1. duilib进阶教程 -- 在MFC中使用duilib (1)

    由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...

  2. MFC中混合使用Duilib制作界面

    因为公司项目最近入了MFC的这个大坑,用MFC做UI做了一段时间,感觉不是很方便,开发效率有点慢. 看了c++里面做界面的类库,感觉Duilib比较符合做界面的需求,而且很多大公司也在使用Duilib ...

  3. 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)

    关于duilib的历史,我也就不多说了,能看到这篇文章的人都是有一定了解才能找到这个的. 我直接说下对这个库的基本使用吧. 我个人对一些好技术都是比较感兴趣的. 因为个人原因 喜欢接触一个好技术. 所 ...

  4. MFC中使用FLASH

    一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约 ...

  5. MFC中换行实现

    在mfc中编辑框允许输入多行时,换行符被表示为<归位><换行>即"\r\n",用ascii码表示为13 10 如果为编辑框中想要输入换行,就请将编辑框的属性 ...

  6. MFC中的各种DC区别

    转载自:xntop的<区别MFC中的CClientDC.CWindowDC.CPaintDC.CMetaFileDC> CClientDC及其子类 1. CClientDC类只能在客户区绘 ...

  7. VC++ MFC中如何将应用程序的配置信息保存到注册表中(二)

    在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息 ...

  8. MFC中对话框类(Dialog)的应用

    转载http://hi.baidu.com/jackywdx/item/feee8041d2c2e12310ee1e85 Windows应用程序通常是通过对话框接收用户输入.向用户输出信息,本节介绍应 ...

  9. MFC中添加消息响应函数

    转自:http://blog.csdn.net/eddy_liu/article/details/8474677 目前,用MFC设计的Windows应用程序几乎都采用文档/视图结构.这种程序框架与简单 ...

  10. MFC中使用Duilib--2

    在上一篇文章"MFC中使用Duilib--1"中, 没有用到资源文件,即xml,本篇讲怎样加载文件. 1.  在exe输出目录下,创建一个skin目录,里面放入需要用到的图片文件, ...

随机推荐

  1. Mac下为我们开发的App制作gif动画演示(不仅仅针对开发者,想做gif图片的也可参考)

    趁着工作不忙,就闲着倒腾自己的事情,把自己写的一个完整App<丁丁印记>整理了一番,总结其中用到的技术和实现的功能,并想把一些用到的技术分享给各位工友们,因为我自学iOS开发得益于大家的分 ...

  2. 读取properties中的key对应的value

  3. 《java作业》

    /* 2.编写一个类,该类有一个方法public int f(int a,int b), 该方法返回a和b的最大公约数.然后再编写一个该类的子类, 要求子类重写方法f,而且重写的方法将返回a和b的最小 ...

  4. xml文件有误

    Unable to start activity ComponentInfo{com.anzi.jmsht.scripturelibrary/com.anzi.jmsht.scripturelibra ...

  5. Ubuntu 14.10 下安装java反编译工具 jd-gui

    系统环境,Ubuntu 14.10 ,64位 1 下载JD-GUI,网址http://221.3.153.126/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/jd.benow.ca/ ...

  6. classPath

    问 spring mvc的web.xml中这个地方的classpath是什么意思? spring springmvc java swnuv 2015年09月25日提问 关注 5 关注 收藏 0 收藏, ...

  7. HttpClient -- 血的教训

    HttpClient -- 血的教训 千万别用httpClient 不支持httpVersion2.0 因为这个导致项目重做

  8. Manacher算法 , 实例 详解 . NYOJ 最长回文

    51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...

  9. BZOJ 3251 树上三角形

    NOIP的东西回成都再说吧... 这题暴力. #include<iostream> #include<cstdio> #include<cstring> #incl ...

  10. csharp_ToJson的正确写法

    网上搜的,但有问题,已经改好...现在这个是正确的 public static string ToJson(DataTable dt, string jsonName)        {        ...