VC++深入详解读书笔记-第七章对话框

1.在MFC中,所有的控件类都是由CWnd类派生来的,因此,控件实际上也是窗口。

2.

VC++深入详解读书笔记-第七章对话框_第1张图片

3.对话框的种类

   模态对话框

         模态对话框是指当其显示时,程序会暂时执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。

    非模态对话框

         当非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。

4.在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。

5.模态对话框的创建

void CMybobleView::OnDialog()
{
	CTestDlg dlg;
	dlg.DoModal();
}

6.非模态对话框的创建

(1)需要利用CDialog类的Create成员函数来创建

BOOL Create(LPCTSTR lpszTemplateName,CWnd* pParentWnd = NULL);
BOOL Create(UINT nIDTemplate,CWnd* pParentWnd = NULL);

(2)显示对话框

dlg.ShowWindow(SW_SHOW);

(3)dlg变量应为类的成员变量,而不能是局部变量。

7.点击对话框上的【OK】按钮时,对话框都会消失。对模态对话框而言,此时对话框窗口对象被销毁了。而对非模态对话框来说,对话框窗口对象并未被销毁,只是隐藏起来了。单击OK按钮会调用基类(CDialog)的OnOK函数,这是一个虚函数。该函数会调用EndDialog函数,这个函数用于终止模态对话框,而对于非模态对话框,这个函数使对话框窗口不可见,并不销毁它。因此,对非模态对话框来说,对OK按钮,必须重写基类的OnOK函数,并在重写的函数中调用DestroyWindow函数,同时注意不要调用基类的OnOK函数。OnCancel函数类似。

8.为了使一个静态文本控件能够响应鼠标单击消息,那么需要进行两个特殊的步骤:第一步,改变它的ID;第二步,在它的属性对话框选中Notify选项。

转载于:https://www.cnblogs.com/cpointer/p/4119875.html

你可能感兴趣的:(VC++深入详解读书笔记-第七章对话框)