老师要求我们在SDI程序中,至少要显示4个对话框,一为对图像的放大、缩小对话框;2为帮助对话框(班级、姓名);3为选项(公用的颜色、画线)对话框;最后一个为直方图对话框。我打算全部用模态对话框实现,除了帮助对话框是MFC定义在CAboutDlg类中通过响应OnAppAbout()消息进行显示的;其余的我打算全部在CScrollView类中仅仅响应相应的ID号所对应的消息函数进行显示。但如此做后,仅仅只能显示对图像的放大、缩小对话框。我想问的是究竟是啥原因导致出现上述现象?

解决方案 »

  1.   


    先new四个对话框,每一对话框定义一个类,对话框的功能在该对应的类里完成。再在菜单上增加响应对话框类的菜单项,在CScrollView中响应对话框类点击函数就OK了。
      

  2.   

    happyparrot(快乐鹦鹉)老兄,谢谢你的提醒,我把对位图图像的放大/缩小显示做为模态对话框,把帮助对话框做为非模态对话框,就能够两者均创建;但是我听有人说,关于模态对话框,你想创建几个,就能实现几个,为什么我的SDI不行呢?
      

  3.   

    看样子只能用模态对话框实现系统颜色公用对话框——
    问题是就算我把
    void CMainFrame::OnColor() 
    {
    // TODO: Add your command handler code here
    COLORREF col;
    CColorDialog dlg; 
    if (dlg.DoModal()==IDOK)
    col=dlg.GetColor();
    }
    搬上去,也打不开颜色对话框,而且“.exe”瘫痪掉了。