我建立了一个简单的基于对话框的MFC exe, 然后在对话框中添加了 DateTimePicker 控
件, 设置它的Styles -> Format 为 Time。接下来,使用class wizard-〉Member 
variables 为DateTimePicker 增加变量m_Time,Categrory 是value, 变量类型由两个选项,但是实践发现那个都不对,描述如下:1、使用 CTime 类型, 发现无法得到正确的时间。检查,在DoDataExchange() 中的DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time); 这个函数第三个参数是 
COleDateTime类型, 所以不能将变量设置为CTime类型。2、使用COleDateTime 类型,编译的时候没有错误,但是在运行的时候,在 dialog 的构
造函数第一行,//{{AFX_DATA_INIT 中,在运行
m_Time = COleDateTime::GetCurrentTime(); 的时候发生
Unhandled exception in myTime.exe (MFCO42D.dll): oxc0000005: Access Violation.
所以请问各位高手,我应该怎么使用 DateTimePicker

解决方案 »

  1.   

    我试过了你的第一种情况,没有问题呀!第三个参数也是CTime。
      

  2.   

    how about the second case? maybe my VC got sth wrong?
      

  3.   

    greenever(司马青杉)说的是可以的,没什么问题.
      

  4.   

    TRACE("%d", m_time);ok you can use m_time
      

  5.   

    使用class wizard-〉Member 
    variables 为DateTimePicker 增加变量m_Time,Categrory 是value, 变量类型
    使用 CTime 类型, DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time); m_time也是CTime的。没有问题啊。你再试试吧。你选择CTime,自动生成的时候就是CTime了。或者你可以去.h中把m_time类型改为CTime