多文当界面,如何创建子窗口,如果子窗口存在,将它激活??我已经给了100分,这是第二个100分了,同一个问题,望各位大侠指点迷津

解决方案 »

  1.   

    CChildFrame *m_pFrame = new CChildFrame();
    CCreateContext m_Context;
    m_Context.m_pNewViewClass = RUNTIME_CLASS(CMyView);
    if(!m_pFrame->LoadFrame(IDI_MyView,WS_MAXIMIZE | WS_OVERLAPPEDWINDOW, NULL, &m_Context))
    return;
    m_pFrame->InitialUpdateFrame(NULL, true);
      

  2.   

    使用cdocumenttemplate 的opendocumentfile来打开子窗口想激活,先使用findwindow来查找子窗口,如果找到,调用bringwindowtotop来激活
      

  3.   

    error C2065: 'm_pMainWnd' : undeclared identifier
    error C2027: use of undefined type 'CMyView'
    see declaration of 'CMyView'
    error C2065: 'classCMyView' : undeclared identifier
    Error executing cl.exe.
    Creating browse info file...KK.exe - 3 error(s), 0
      

  4.   

    CMapTqryApp *pApp = GetApp();
    if(pApp->m_pTqryDocTemProperty)
    {
    POSITION pos = pApp->m_pTqryDocTemProperty->GetFirstDocPosition();
    if(pos == NULL)
    {
    CDocument * pDoc = pApp->m_pTqryDocTemProperty->OpenDocumentFile(NULL);  
    if(pDoc)
    {
    POSITION posView = pDoc->GetFirstViewPosition();
    if(posView != NULL)
    {
    CView * pView = pDoc->GetNextView(posView);
    if(pView)
    {
    CFrameWnd *pChidWnd = pView->GetParentFrame();
    if(pChidWnd )
    {
    g_MainWnd->MDIActivate(pChidWnd );
    CTqryMainQueryFormView * pTqryView = (CTqryMainQueryFormView *)pView;
    pTqryView->m_pTqry = m_pPolice->m_pTqry;
    pTqryView->InitData();
    }
    }
    }
    }
    }else
    {
    while(pos != NULL)
    {
    CDocument * pDoc = pApp->m_pTqryDocTemProperty->GetNextDoc(pos);
    if(pDoc)
    {
    POSITION posView = pDoc->GetFirstViewPosition();
    while(posView != NULL)
    {
    CView * pView = pDoc->GetNextView(posView);
    if(pView)
    {
    CFrameWnd *pChidWnd = pView->GetParentFrame();
    if(pChidWnd )
    {
    g_MainWnd->MDIActivate(pChidWnd );
    CTqryMainQueryFormView * pTqryView = (CTqryMainQueryFormView *)pView;
    pTqryView->m_pTqry = m_pPolice->m_pTqry;
    pTqryView->InitData();
    }
    }
    }
    }
    }
    }
    }MDIActivate(pChidWnd );激活
    OpenDocumentFile(NULL);新建
      

  5.   

    如果有CChildFrame的指针pFrame,用
    pFrame->ActivateFrame(SW_SHOW);
      

  6.   

    GetApp();????????????????/我忘记了怎么写的??
      

  7.   

    error C2653: 'CMyView' : is not a class or namespace name
    E:\Documents and Settings\Administrator\桌面\KK\MainFrm.cpp(112) : error C2065: 'classCKKView' : undeclared identifier
    Error executing cl.exe.
      

  8.   

    error C2653: 'CMyView' : is not a class or namespace name
    E:\Documents and Settings\Administrator\桌面\KK\MainFrm.cpp(112) : error C2065: 'classCKKView' : undeclared identifier
    Error executing cl.exe.你需要加上#include "MyView.h"CMyView是我建的一个在新建子窗口中显示一个由CFormView类派生的Dialog,如果你只是需要新建一个子窗口如下即可:CChildFrame *m_pFrame = new CChildFrame();
    if(!m_pFrame->LoadFrame(IDI_MyView,WS_MAXIMIZE | WS_OVERLAPPEDWINDOW, NULL, NULL))
    return;
    m_pFrame->InitialUpdateFrame(NULL, true);前面的m_Context是用来控制子窗口中一些显示属性和显示内容用的
      

  9.   

    谢谢您,如何调用系统的那个filenew,那个新建按钮,估计您可定可以实现,就是我不会
      

  10.   

    谢谢是这么搞定的
    AfxGetApp()->m_pDocTemplate->OpenDocumentFile(NULL);