菜鸟请教。。。
class caboutdlg : public cdialog
{
public:
caboutdlg();
// dialog data
//{{afx_data(caboutdlg)
enum { idd = idd_aboutbox };
//}}afx_data
// classwizard generated virtual function overrides
//{{afx_virtual(caboutdlg)
protected:
virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv support
//}}afx_virtual
// implementation
protected:
//{{afx_msg(caboutdlg)
// no message handlers
//}}afx_msg
declare_message_map()
};
请教:在上面的关于对话框类中,下面的成员函数的作用是什么?怎样使用?
我查不到资料,请朋友们帮忙解释一下,谢谢
void caboutdlg::dodataexchange(cdataexchange* pdx)
{
cdialog::dodataexchange(pdx);
//{{afx_data_map(caboutdlg)
//}}afx_data_map
}
推荐阅读
就是做数据交换!你不需要直接调他
因为有
updatedata(取);
updatedata(发);
明白了吗?
updatedata(true)是获得界面上的量的改变以后的值;
updatedata(false)是把程序中改变了的量返回到界面上。
是这样的你首先在对话框中定义了很多的控件如cedit的,你为这些控件定义成程变量,如果成员变量不是控制对象,而是基本数据类型如(float,int,char)等,那么界面到变量就要有一个映射,而定义这个映射就在dodataexchange(cdataexchange* pdx)中
有很多的宏定义来定义界面上的控件和变量的关系,这你可以查msdn
定义后你使用
updatedata(true);
updatedata(false);
来完成界面来变量的更新,也就是说你在edit框中输入的文字不面马上放入对应的变量中或是你在程序中对变量的改变也不会马上在界面中出现而是通过调用updatedata()来完成的,面updatedata();是怎样来进行映射是通过在dodataexchange(cdataexchange* pdx)中的定义稳知道怎么映射


讨论区