您的位置:首页 > 其它

CDialog 的一些心得

2015-01-12 17:06 211 查看
代码:

CMyDialogDlg::OnPaint()
{
...
else{
CPaintDC   dc(this);
dc.SetBKMode(TRANSPARENT);
dc.TextOut(20,50,"这是一个应用程序对话框 ");
CDialog::OnPaint();
}
}


有关对话框的常用处理函数

CDialog::CDialog()

通过调用派生类构造函数,根据对话框资源模版定义一个对话框

CDialog::DoModal()

激活 模态对话框, 显示对话框窗口

CDialog::Create()

根据对话框资源模版创建 非模态对话框 窗口。

如果对话框不是Visible属性,还需通过调用CWnd::ShowWindow() 函数显示 非模态对话框窗口

CDialog::OnOk()

单击OK按钮时调用该函数,接收对话框输入数据,关闭对话框。

CDialog::OnCancel()

单击Cancel按钮或Esc键时调用该函数,不接受对话框输入数据,关闭对话框

CDialog::OnInitDialog()

WM_INITDIALOG 消息处理函数,在调用DoModal 或Create函数时 系统发送WM_INITDIALOG消息,

在显示对话框前调用该函数进行初始化

CDialog::EndDialog()

用于关闭 模态对话框

CWnd:: ShowWindow()

显示或隐藏 对话框窗口

CWnd::DestroyWindow()

关闭并销毁 非模态对话框

CWnd::UpdateData()

通过调用DoDataExchange() 设置或获取对话框控件的数据

CWnd::DoDataExchange()

被UpdateData()调用以实现 对话框数据交换 ,不能直接调用

CWnd::GetWindowText();

获取对话框窗口的标题

CWnd::SetWindowText()

修改对话框窗口的标题

CWnd::GetDlgItemText()

获取对话框中控件的文本内容

CWnd::SetDlgItemText()

设置对话框中控件的文本内容

CWnd::GetDlgItem()

获取控件或子窗口的指针

CWind::MoveWindow()

用于移动对话框窗口

CWnd::EnableWindow()

使窗口处于禁用或可用状态

对话框数据 交换DDX和验证DDV

在对话框中实现用户数据输入和输出的一般方法是通过ClassWizard类向导将对话框控件与成员变量相关联,

利用对话框数据交换DDX(Dialog Data Exchange) 和 验证DDV (Dialog Data Validation) 机制实现数据的输入输出

当利用ClassWizard类向导添加成员变量时,用户如果在窗口的左下角输入数据的范围,ClassWizard将自动加入函数DDV

的调用代码

如: 当添加一个UINT型的成员变量m_nInput 时指定他的最小值和最大值分别是0和100,则ClassWizard类向导将在成员

函数DoDataExchange()中添加以下DDV函数调用语句:

DDV_MinMaxUInt(pDX,m_nInput,0,100);

UpdataData()用法:

当调用UpdateData(TRUE)时,MFC通过调用DDX函数从控件传递到关联的成员变量;

当调用UpdataData(FALSE)时,MFC通过调用DDX函数将数据从成员变量传递到关联的控件。

利用UpdataData()函数实现了在刷新后重新获取成员变量.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: