zoukankan      html  css  js  c++  java
  • duilib进阶教程 -- 在duilib中使用MFC (2)

      好人做到底,送佛送到西。虽然上一篇教程已经说得很详细了,但Alberl还是再举一个例子。上一篇教程的主窗口是MFC的,所以这篇教程把主窗口换成duilib的~O(∩_∩)O~

      1、我们利用《2013 duilib入门简明教程 -- 完整的自绘标题栏(8)》里的XML做为主窗口,并且把客户区的控件都去掉,换成一个自定义控件<Dialog />

    。将XML改名为XMP_MAIN.xml,并放到exe目录。

      2、在CDuiFrameWnd::CreateControl()函数里,加入自定义控件Dialog的创建:

        if (_tcsicmp(pstrClassName, _T("Dialog")) == 0)
        {
            CWndUI  *pUI  = new CWndUI;   
            CXMPDlg *pDlg = new CXMPDlg; // 这里只是示例,请自行释放内存~
    
            pDlg->Create(IDD_XMP_DIALOG); 
            pUI->Attach(pDlg->GetSafeHwnd());  
            return pUI;
        }

      3、在CXMPApp::InitInstance()函数里,将

        CXMPDlg dlg;
        m_pMainWnd = &dlg;
        INT_PTR nResponse = dlg.DoModal();

      换成

        CDuiFrameWnd *pFrame = new CDuiFrameWnd(_T("XMP_MAIN.xml"));
        pFrame->Create(NULL, _T("DUIWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
        pFrame->CenterWindow();
    
        m_pMainWnd = CWnd::FromHandle(*pFrame);
        INT_PTR nResponse = pFrame->ShowModal();

      4、将MFC对话框的风格改为子窗口模式,如下:

      然后运行,即可看到以下效果:

      同样,里面的控件都是可以响应的哦,那么到现在为止,MFC和duilib结合的所有方式都讲完了,那些为老项目界面犯愁的小伙伴们,赶紧动手试试吧~O(∩_∩)O~

      代码下载:http://download.csdn.net/detail/qq316293804/6428255





  • 相关阅读:
    document基本操作 动态脚本-动态样式-创建表格
    js原型模式和继承
    NuGet本地包自定义路径
    技术文档链接收藏
    数据结构排序
    Insertion Sort
    选择排序之javascript
    冒泡排序之javascript
    C++双向链表
    单向链表
  • 原文地址:https://www.cnblogs.com/Alberl/p/3379718.html
Copyright © 2011-2022 走看看