CDateTimeCtrl控件怎么让不能选择的日期变灰?

时间:2020-12-01 23:49:38
timeCtl =new CDateTimeCtrl;
timeCtl->Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP  | DTS_SHORTDATEFORMAT,CRect(a+80,b+100,a+180,b+130),this,IDC_TIME1);

CTime tCurrentTime = CTime::GetCurrentTime();   //将当前时间定义最早可选时间
CTimeSpan timespanOneMonth(10,0,0,0); //把时间推后10天
CTime tEndTime = tCurrentTime +timespanOneMonth;//最晚可选时间
timeCtl->SetRange(&tCurrentTime, &tEndTime); //限制控件的可选时间

这样就只可以在控件弹出的月历中点击从今天起之后的10天,其他的不能点击选择,但是我想让其他不能选择的日期变灰,只显示可以选择的日期,那样看起来更直观、怎么弄?

3 个解决方案

#1


查了很多、貌似CDateTimeCtrl没有这个功能、看来只能找其他日期控件了、有木有好点的月历控件?发个地址来~!

#2


你到codeproject上找找看

#3


一样可用m_DataTimeCtrl.EnableWindow(0);让控件变灰.

#1


查了很多、貌似CDateTimeCtrl没有这个功能、看来只能找其他日期控件了、有木有好点的月历控件?发个地址来~!

#2


你到codeproject上找找看

#3


一样可用m_DataTimeCtrl.EnableWindow(0);让控件变灰.