创建模型对话框作为子窗口





4.00/5 (9投票s)
2000 年 11 月 10 日

298757

3341
一个简单的分步文章,解释如何创建无模式对话框作为子窗口。
本文是 拖放界面 示例的一部分。
- 序列化 ASCII 数据
- 无模式子对话框
- 无模式兄弟对话框
- 拖放源
- MFC 目标
- TBTextTarget 类
要创建作为应用程序兄弟窗口的无模式对话框,请访问此链接。
请遵循以下步骤
- 创建一个新的对话框资源,并使用“类向导”为它创建一个基于
CDialog
的新类;我们称之为CDropDialog
。 - 在您的
CFormView
派生类中,添加一个类型为CDropDialog*
的(private
)成员变量,作为无模式对话框类的容器,我们称之为m_pModeless
。在您的视图的构造函数中,确保将m_pModeless
初始化为NULL
。 - 在您的适当的消息处理程序中,我们称之为
OnModeless
,执行以下操作void CInterfaceView::OnModeless() { // Display the modal dialog box if (!m_pModeless) m_pModeless = new CDropDialog; if (!::IsWindow(m_pModeless->GetSafeHwnd())) m_pModeless->Create(IDD_DIALOG1, this); m_pModeless->ShowWindow(SW_SHOW); }
在父窗口的析构函数中,检查对话框是否已关闭并释放内存
CInterfaceView::~CInterfaceView()
{
if (m_pModeless)
{
if (::IsWindow(m_pModeless->GetSafeHwnd()))
m_pModeless->EndDialog(IDCANCEL);
delete m_pModeless;
}
}
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。