loading ...
loading...

2008-07-17 | UpDateData函数

分享

   在MFC编程中,很多控件都需要有对应的变量存放它的值,以此实现在代码中操作变量,来改变对应控件的内容。MFC编程中,通过建立类向导中的操作可以将窗口控件和对应变量绑定,但是代码操作的是变量,用户操作窗口控件如何让他们同步?也就是当用户对控件内容做了改变,怎样让变量作相应的改变或者程序代码中对变量作了改变,如何在控件上表示出来?
        UpDateData(Bool true|false)函数正是实现的这个功能。UpdateData函数是Visaul   C++中处理  控件变量的关键函数。此函数引起动态数据交换(DDX),根据对话框类中的DoDataExchange()中所定义的类变量和控件的对应关系,交换数据。



        UpdateData(true);    把控件内容装入控件变量。即是说:当用户对控件作了操作,控件内容发生了改变,可以通过该函数加true参数实现同步。
       UpdateData(false);   用控件变量的值更新控件。即是说:当程序中变量由于执行流程而发生了改变,需要在控件上体现出来,可以用该函数加false参数实现同步。

       UpdateData;用来刷新当前对话框

  假如你在界面上画了好多控件,并且为这些控件帮定的变量。  
  例如有一个CEdit控件,并且用类向导帮定了一个变量str_Edit(CString型),  
  那么你在控件里填入串"TEST",然后你显示这个控件的值(MessageBox(str_Edit);) ;  
  这时,你什么也看不到。???你在显示(使用变量str_Edit)以前要调用UpdateData(TRUE);    
  这样,你再次MessageBox(str_Edit),就会看到填入的值TEST。  
    
  另外,如果你在程序中想要改变控件里显示的值(str_Edit="TTTTT"),此时你什么也不会看到。???  
  只有在UpdateData(FALSE);   后才能看到结果。

分享 分享 |  评论 (0) |  阅读 (?)  |  固定链接 |  类别 (术业有专攻) |  发表于 10:11  | 最后修改于 2008-07-17 10:21
搜狐博客温馨提示:搜狐博客官方不会要求参加活动的各位博友缴纳任何的手续费用。请勿轻信留言、评论中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请 点击查看详情
您还未登录,只能匿名发表评论。或者您可以 登录 后发表。
 
  *中国人爱国心,搜狗输入法爱国主题皮肤下载>>
表  情:
加载中...
回复通知: 同时用小纸条通知对方该回复