MFC中的对话框

来源:互联网 发布:三阶矩阵行列式计算 编辑:程序博客网 时间:2024/05/03 10:50

对话框

对话框的种类: 模态对话框和非模态对话框, 都有一个相应的基类:CDialog

模态对话框的创建:dlg.DoModal();

非模态对话框的创建: Create(); 另外还需要ShowWindow(SW_SHOW)显式对话框。

模态对话框中的ID值为IDOK的按钮按下后,会调用基类(CDialog)中的OnOKnow函数,这是一个虚函数,然后它又调

用EndDialog函数;但是在非模态对话框中并不会销毁对话框,只是让它不可见,所以在非模态对话框中如果有一个ID

值为IDOK的按钮,就必须重写基类的OnOK这个虚函数,并在重写的函数中调用DestroyWindow函数。

静态文本控件:静态文本控件主要是起标签作用的,并不是用来响应诸如鼠标单击这类消息的,所有静态文本控件的ID

号可以一样,都是IDC_STATIC。默认情况下,静态文本控件是不会发送通告消息的,如果要让它发送消息,就必须修

改它的Notify选项为true。

对话框数据的交换:由DoDataExchange函数完成。但是程序不直接调用DoDataExchange,而是通过

CWnd::UpdateData函数来调用。为了让数据交换生效,就必须调用DoDataExchange函数。

MFC中提供了以DDX_(对话框数据交换)为前缀的函数,这些函数分别用于不同控件的数据交换。以DDV_(对话框数

据校验)为前缀的函数用于设定控件对应变量的值的范围。