zoukankan      html  css  js  c++  java
  • 在Dialog中嵌入View的方法

     

    在dialog中嵌入view也没有想象到的那么复杂,遵循如下步骤即可。

    1. Create 一个 child类型的CFrameWnd,摆正位置。

    2. 正确设置CCreateContext

    3. Create 出View与CFrameWnd关联4. Show it!

    看代码:

        CWnd* pPosWnd = GetDlgItem(IDC_VIEW_POSITON);
       CRect rect;
       pPosWnd->GetWindowRect(&rect);
       CRect rectView = rect;
       ScreenToClient(&rect);

       m_pFrame = new CFrameWnd();
       m_pFrame->Create(NULL, NULL, WS_CHILD | WS_VISIBLE, rect, this);

       m_pFrame->ScreenToClient(&rectView);

       m_pDoc = static_cast<CDlgViewDoc*>(RUNTIME_CLASS(CDlgViewDoc)->CreateObject());

       CCreateContext context;
       context.m_pNewViewClass = RUNTIME_CLASS(CDlgViewView);
       context.m_pCurrentDoc = m_pDoc;
       context.m_pNewDocTemplate = NULL;
       context.m_pLastView = NULL;
       context.m_pCurrentFrame = m_pFrame;

       CView* pView = static_cast<CView*>(RUNTIME_CLASS(CDlgViewView)->CreateObject() );
       if( !pView )
          return FALSE;
       if( !pView->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW, rectView, m_pFrame, AFX_IDW_PANE_FIRST,&context) )
          return FALSE;
       pView->ShowWindow(SW_SHOW);
       pView->OnInitialUpdate();

  • 相关阅读:
    Go语言趣学指南lesson3
    简单的>this
    多媒体查询
    解析对象原型链
    笑对人生,坐看云起云落
    HTML5
    javascript函数及作用域的小结
    不得不知call()和apply()
    浅谈弹性盒子布局
    编译原理实验(算符优先文法)
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333136.html
Copyright © 2011-2022 走看看