VC++中如何在单文档里显示对话框

2024-11-16 09:49:41
推荐回答(2个)
回答(1):

在建立这个单文档工程时,逐次点击下一步,在最后一步时选择视类的基类时,选 CFormView(默认的是 CView),这样你的空白窗口就是一个可以添加控件的对话框了。

回答(2):

    无论在什么程序下, 显示对话框的方法都是一样的(最起码思路是一样的).

    假如现有一个对话框, ID为IDD_DLG.

    模态:

        模态对话框不需要使用全局或成员的CDialog对象, 局部的即可.

CDialog dlg;
dlg.DoModal();

        其中DoModal函数会将当前执行卡在这里, dlg不会发生析构, 则IDD_DLG也不会被销毁

        其返回值是EndDialog的参数, 默认是IDOK或IDCANCLE

    非模态:

    非模态对话框对对象就有要求了, 要求就是它不能随意地被析构, 也就是说在不该析构的时候被析构了, 这样导致对话框无法显示.

m_dlg.Create(IDD_DLG, this);

    其中IDD_DLG是对话框ID, this是对话框的父窗口, m_dlg一定要确保对话框在显示期间不会被意外析构.