mfc bug!

zhongxd 2003-03-19 12:12:44
本人在弄日历控件的时候,mcn_selchange 改变日历的当前值,然后用GetCurSel获得日期 ,用COleDateTime作为参数,然后用GetYear() GetMonth() GetDay()获得日期,发现得到的值都是-1,显然错误;然后尝试改用CTime作为参数 进行同样的操作,选定的日期是 2003.03.20 得到的日期却是2003.04.01,显然也不对,哪位大虾弄过这方面的东东,指点一下迷津!谢谢!
...全文
47 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongxd 2003-03-20
  • 打赏
  • 举报
回复
CQP(悄悄的我走了,正如我悄悄的来)
我的目的就是要获得年月日
你的做法是先设定年月日,然后再获得值,这个好象不能解决问题
zhongxd 2003-03-20
  • 打赏
  • 举报
回复
to ColderRain(莫走重辄路)
release 版本我也弄过的,从现象上看,获得的值也是无效的,你仔细观察一下!
你可以设定选定的值为今天的时间的值,用release版本看一下现象,用CTime红色的圈圈定的日期不是你选定的日期,用COleDateTime则根本就不对!
uhlan 2003-03-19
  • 打赏
  • 举报
回复
我建议你不要用Control帮定
用CTime变量就可以了。
获得值以前UpDateData(TRUE);
没有问题的。
ColderRain 2003-03-19
  • 打赏
  • 举报
回复
我也遇到的同样的问题,这个不是MFC的BUG。和系统有关,是你安装了什么东西造成的。

在DEBUG版本下, 结果是-1,或是随机值。
在RELEASE版本下,就是正确的。

我在另个一个干净的机子上试过,没有此问题(DEBUG版本)。

建议你重装系统和VC。
54yuandian 2003-03-19
  • 打赏
  • 举报
回复
设断点在GetYear() GetMonth() GetDay()追踪一下先
ColderRain 2003-03-19
  • 打赏
  • 举报
回复
我几个同事的机子上都可以通过,就我机子上不行。

但是RELEASE版没有这个毛病。 除了调试麻烦点外,可以忽略这个问题。
CQP 2003-03-19
  • 打赏
  • 举报
回复

要先Select
m_calendar.SetDay(m_sDay);
m_calendar.SetMonth(m_sMonth);
m_calendar.SetYear(m_sYear);

m_sDay 、m_sMont、m_sYear为 short 型
取值:
定义一个COleVariarnt m_varValue
m_varValue=m_calendar.GetValue();
zhongxd 2003-03-19
  • 打赏
  • 举报
回复
哪位大虾有现成的例子,让我看一下别人是怎么弄的。
日历控件就那么几个函数,好像弄不出多少花样。
比如我想设置星期天为红色的,日历上面的"星期一 星期二"字样,以及让日历控件最下面 今天是多少号字样居中等,以及选择的时候选择标志换成别的样式,该怎么弄?
zhongxd 2003-03-19
  • 打赏
  • 举报
回复
to ColderRain(莫走重辄路)
不会这么惨吧!重装系统麻烦得很,而且我在不同的人的机子上看过了,效果都一样的,
zhongxd 2003-03-19
  • 打赏
  • 举报
回复
to uhlan(uhlan)
我尝试过你的方法了,好像还是不对的,日期多了几天!

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧