UpdateData();
COleDateTime str;
CString str1;
str1=str.Format("%c");
现在的问题是如何不用UpdateData()使str1的值为控件输入的值。

解决方案 »

  1.   

    我的意思是说时间控件的值转化为CString型,不用UpdateData().
      

  2.   

    UpdateData()和转化类型没关系,他用于控件内容和其对应变量的相互传递
      

  3.   

    是啊,我重新输入时间(在时间控件里面),它的值应该是新值啊,但我试了,显示在Edit里面的值不变
      

  4.   

    UpdateData()要用2次,注意参数0,或1.具体见msdn.
    从变量到控件,和控件到变量,都要调用UpdateData(),参数决定传递的方向.
      

  5.   

    老兄,可不可以不用UpdateData()呢?
      

  6.   

    我不是说了吗?
    控件.SetWindowText(str1);//设置
    控件.GetWindowText(str1);//得到
      

  7.   

    我的问题是这样的,就是通过时间控件设置时间,然后通过这个时间到数据库里面查找,现在不用UpdateData(),如何得到一个CString型的值?谢谢了!
      

  8.   


    GetDlgItemText(IDC_CONTROLID,str1);
      

  9.   

    楼主似乎有点语法不清楚.
    1.如果使用UpdateData()用于控件和对应变量str1的内容传递,这个str1应该在向导中建立,而不是像普通变量一样定义
    UpdateData();
    COleDateTime str;
    CString str1;
    str1=str.Format("%c");//错误.并不会传入控件(少了变量与控件相互联系--向导会自动建立)
    2.不是所有控件对应变量都有CString类型的,所以控件.SetWindowText(str1);不是万能方法,要根据向导是否提供.
      

  10.   

    CDateTimeCtrl::GetTime()
    CTime::Format()
    COleDateTime::Format()
      

  11.   

    to:fanqing(火影忍者+26%)
    你说的我知道啊,可能是我没写清楚,str是通过向导定义的,str1是普通定义的变量,这样行不行呢?
      

  12.   

    你用的是什么控件?是Date Time Picker 控件吗?
      

  13.   

    是的,如果不用UpdateData()的话,从控件里设置的时间就没有。