Panic的小屋

国破山河在,城春草木深。
随笔 - 151, 评论 - 1314, 引用 - 22, 文章 - 0

导航

公告

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(251)

随笔分类

随笔档案

文章档案

相册

国外好站推荐

工具网页

我的其他网页

我的网友

户外运动

美女的空间

搜索

最新评论

阅读排行榜

评论排行榜

CMonthCalCtrl的一个BUG

Posted on 2006-12-06 11:38 Panic 阅读(2933) 评论(3)  编辑 收藏

环境:win2k pro, vc6.0 sp5
bug描述:
CMonthCalCtrl::GetCurSel函数的返回值是错误的。

测试代码:
//CMonthCalCtrl m_c; //定义在某处。
//当用户选择了不同的日期后
CTime t;
m_c.GetCurSel(t);
CString s = t.Format( "%A, %B %d, %Y" );
//之后s的值和用户选择的数值相去甚远。

bug跟踪:
通过简单的跟踪,发现问题出在控件本身对消息的响应上,在winctrl5.cpp中:
BOOL CMonthCalCtrl::GetCurSel(CTime& refTime) const
{
 ASSERT(::IsWindow(m_hWnd));

 // can't use this method on multiple selection controls
 ASSERT(!(GetStyle() & MCS_MULTISELECT));

 SYSTEMTIME sysTime;
 BOOL bResult = (BOOL)
  ::SendMessage(m_hWnd, MCM_GETCURSEL, 0, (LPARAM) &sysTime);
//这个消息返回后,sysTime的wMinute和wSecond成员的数值是错误的。

 if (bResult)
  refTime = CTime(sysTime);

 return bResult;
}

解决方法:自己发消息,然后修正sysTime的对应成员。

Feedback

# re: CMonthCalCtrl的一个BUG

2008-08-08 11:31 by 我心飞翔
你好,我也遇到了这个问题,但是你说的自己发消息,然后修正sysTime的对应成员。这个我不会。你能不能把修改后的程序发到我的邮箱上。我的邮箱是chinakangwenjun@163.com 非常感谢。

# re: CMonthCalCtrl的一个BUG

2008-08-26 10:59 by jack
使用 SYSTEMTIME time;结构去得到当前时间,结果也行

# re: CMonthCalCtrl的一个BUG

2008-11-05 21:08 by da
这个网站的机票很便宜:
[url=http://www.68jp.cn ]机票[/url]
[url=http://www.68jp.cn/display/403.html ]北京到蒙得维的亚机票[/url]
[url=http://www.68jp.cn/display/682.html ]北京到苏黎世机票[/url]
[url=http://www.68jp.cn/display/637.html ]北京到雷克雅未克机票[/url]
[url=http://www.68jp.cn/display/569.html ]北京到罗安达机票[/url]
[url=http://www.68jp.cn/display/546.html ]北京到约翰内斯堡机票[/url]
[url=http://www.68jp.cn/display/529.html ]北京到伦敦机票[/url]
[url=http://www.68jp.cn/display/514.html ]北京到温哥华机票[/url]
[url=http://www.68jp.cn/display/480.html ]北京到新德里机票[/url]
[url=http://www.68jp.cn/display/461.html ]北京到哈瓦那机票[/url]
[url=http://www.68jp.cn/display/435.html ]北京到圣地亚哥机票[/url]
[url=http://www.68jp.cn/display/417.html ]北京到利马机票[/url]
[url=http://www.68jp.cn/display/378.html ]北京到东京机票[/url]
[url=http://www.68jp.cn/display/351.html ]北京到奥克兰机票[/url]
[url=http://www.68jp.cn/display/222.html ]北京到悉尼机票[/url]
[url=http://www.68jp.cn/display/687.html ]北京到莫斯科机票[/url]
[url=http://www.68jp.cn/display/472.html ]北京到巴拿马机票[/url]
[url=http://www.68jp.cn/display/703.html ]北京到马德里机票[/url]

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]