用VC/MFC如何建立画图与文本编辑器共存的应用程序

解决方案 »

  1.   

    使用一个画图组件和文件编辑组件就行了。
    文本编辑组件可以使用ms word中的组件
      

  2.   

    选中Multiple Documents(多文档)就行了,使用Document/View(文档/视)结构,一个画图,一个文本编辑。
      

  3.   

    class MyApp:public CWinApp
    {
    BOOL InitInstance()
    {

    CMultiDocTemplate* aDocTemplate;
    aDocTemplate=new CMultiDocTemplate(IDR_ChildFrame,
                    RUNTIME_CLASS(MyDocument),
                     RUNTIME_CLASS(MyMDIChild),
                       RUNTIME_CLASS(MyView));
    AddDocTemplate(aDocTemplate); CMultiDocTemplate* textTemplate;
    textTemplate=new CMultiDocTemplate(IDR_TextWnd,
                   RUNTIME_CLASS(TextDoc),
                  RUNTIME_CLASS(MyMDIChild),
                    RUNTIME_CLASS(TextView));
    AddDocTemplate(textTemplate);
    /////////////////////////////////////////////////////////////////////////////////////////
    //
    MyFrame* Frame=new MyFrame;
    m_pMainWnd=Frame; Frame->LoadFrame(IDR_MyFrame);
     //    aDocTemplate->InitialUpdateFrame(Frame,aDOC);
    Frame->ShowWindow(SW_SHOW); LoadStdProfileSettings();
    Frame->DragAcceptFiles();
    EnableShellOpen(); RegisterShellFileTypes(); if(m_lpCmdLine[0]=='\0')
    OnFileNew();
    else
    OpenDocumentFile(m_lpCmdLine); return true; }
    DECLARE_MESSAGE_MAP()
    }a_app;
    BEGIN_MESSAGE_MAP(MyApp,CWinApp)
    ON_COMMAND(ID_FILE_NEW,CWinApp::OnFileNew)
    ON_COMMAND(ID_FILE_OPEN,CWinApp::OnFileOpen)
    END_MESSAGE_MAP()
      

  4.   

    可以用多Doc,但解决这个问题的方案最好是一个文档对应多视。一个Doc类多个View类。
    如果希望图和文字在一屏上显示,可以用分裂窗口。分裂窗两个窗口,一个用于显示图,一个用于显示文本。一个Doc类,对应2个View类。可以用CSplitterWnd 类实现。不喜欢分裂窗也可以使用单独的窗口来实现。比方增加一个浮动窗口。