我准备自己开发一个项目工程,该工程是对电源运行情况远程监控的上位机程序。(VC++6.0)通过此系统,客户能够观察电流电压曲线、状态、仪表等运行状况。我的设计思路是客户从一个主界面(起始界面)上的一些按钮控件,能够切换到对应的界面(比如点击起始界面上的“曲线”按钮,进入到电压、电流的曲线界面;点击“状态”按钮,用户可以进入到状态界面),请问设计这样一个程序,我首先应该是在MFC APPWIZARD(EXE)中建立单文档?还是多文档?还是对话框?这三者有什么区别?

解决方案 »

  1.   

    对话框
    因为你以控件为主
    所以用对话框比较方便
    当然
    用单文档可以采用FormView
    这个需求不要考虑多文档
    多文档应该用于类似word的软件
      

  2.   

    or CTabCtrl,基于Dialog的工程应该就可以了
      

  3.   

    取用什么样的方式取决于你自己的需求和水平,没有先决条件!
    用对话框较简单但能力也弱!
    用SDI或MDI看你自己,我现在写程序基本上不用对话框形式!因为对话框形式的功能实在是弱,不外乎就是在添加几个控件方面方便一点而已。
      

  4.   

    基于对话框就足够了,CTabCtrl,基于Dialog的工程应该就可以了
      

  5.   

    基于对话框就行,工具栏上设置几个按钮,点击按钮弹出相应的界面,
    void CMainFrame::OnButton1() 
    {
    // TODO: Add your command handler code here
    CString path=m_strExePath +"??.exe";//要调用的exe路径

    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    CMainFrame *m_pMainFrame=(CMainFrame *)AfxGetMainWnd();
    if(CreateProces(path,NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi))
    {
    //m_pMainWnd->DestroyWindow();
    m_pMainFrame->ShowWindow(SW_HIDE);
    WaitForSingleObject( pi.hProcess, INFINITE );
    m_pMainFrame->ShowWindow(SW_SHOW);
    }
        // Close process and thread handles. 
        CloseHandle( pi.hProcess );
        CloseHandle( pi.hThread );
    }
      

  6.   

    基于SDI也可以变成对话框框架;基于对话框也可以写成SDI的样子。
    楼主去找找VC方面的书就知道了。 选择任一个关系不是太大。我曾经建了个SDI的工程,创建了很多工具类之后发现需要的是对话框,于是再插入一个对话框了,把它在程序窗口出来之前就DoModal出来。