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();

  • 相关阅读:
    maven打包相关
    增强现实中的摄像机成像模型
    关于sql的exists
    oracle 连接之后出现 no logged on 问题
    关于oracle用户名登录
    myeclipse的SVN插件使用
    svn客户端使用
    svn服务器端使用
    SSH整合
    spring事务管理,xml配置aop事务和注解配置aop事务
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333136.html
Copyright © 2011-2022 走看看