回 帖 发 新 帖 刷新版面

主题:mfc中的DDX

看mfc教程里控件有create的成员函数;但向导生成的基于对话框的mfc中的控件只要
[code=c]
void CmfcmoreDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_BUTTON1, MYButton);
    DDX_Control(pDX,IDC_EDIT1,MYEdit);
}
[/code]
这个函数就可以关联控件与变量
我想问一下DDX是什么意思
还有如何用create成员函数
ps 本人正在学vc
qq970084275

回复列表 (共5个回复)

沙发

DD就是DoData的首字母,X只是为了好看,没有意思,create就是用来创建你的空间,如果你想自己创建一个控件,那么就自己调用create来创建,你需要确定控件的样式风格,还有它显示的CRect

板凳

控件的数据交换主要是这个函数中完成的!
DDx 是控件的绑定,也是一种消息映射机制!

3 楼

我还想问一下creat函数的最后两个参数是什么意思
  最好给个实例谢了

4 楼

以CButton 控件为例;你认真看MSDN 吧!
一下摘自MSDN   
CButton::Create 
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

Parameters

lpszCaption

Specifies the button control’s text.

dwStyle

Specifies the button control’s style. Apply any combination of button styles to the button.

rect

Specifies the button control’s size and position. It can be either a CRect object or a RECT structure.

pParentWnd

Specifies the button control’s parent window, usually a CDialog. It must not be NULL.
//  指向控件的父窗口!一般this GetParent();其他等等;看具体要求了

nID

Specifies the button control’s ID.
// 指定一个控件的ID号,一般随便起,但不要和系统保留冲突

Remarks

5 楼

DDX是DoDateExchange的缩写,即数据交换机制,与之相关的有DDV,意思是数据校对,他们一般是同时出现的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册