WTL中如果使用Date and Time Picker控件?

fall1979 2006-04-26 03:55:08
我用ATL/WTL AppWizard建了一个对话框工程,然后在对话框界面上添加了一个日期时间的控件(Date Time Picker),该控件在MFC中的类是CDateTimeCtrl,在ATL中的类好象是CDateTimePickerCtrl

现在出现这么一个问题:
如果操作系统是Windows XP的话,程序运行没问题,可以通过控件获取时间日期等信息,也就是说程序运行正常!
但是如果操作系统是Windows 2000的话,程序编译没问题,但是运行的时候主对话框创建失败(Main dialog creation failed!)(这里需要提一下的是我就是简单的将控件拖到界面上,并没有进行写任何代码)!
我用多台机器测试过,只要是Windows XP,就没问题,只要是Windows 2000(不管是Professional还是Server)都不行!

类似出现这种问题的控件还有Rich Edit ,Month Calendar ,IP Address ,Custom Control ,Extended Combo Box等!

请问哪位大虾遇到过这种问题并解决的!谢谢啦!
...全文
364 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxred 2007-01-07
  • 打赏
  • 举报
回复
mark
ycbcc 2006-10-21
  • 打赏
  • 举报
回复
mark
fall1979 2006-09-19
  • 打赏
  • 举报
回复
不好意思,很长时间没上csdn了,都不知道自己还有一个帖子没结
fall1979 2006-04-26
  • 打赏
  • 举报
回复
谢谢楼上的两位
fall1979 2006-04-26
  • 打赏
  • 举报
回复
嘿嘿!搞定了!还是在网上的MSDN上找到了答案!在使用该控件需要用InitCommonControlsEx注册该控件的类,而对于XP系统,MSDN上是这么说的Windows XP: If a manifest is used, InitCommonControlsEx is not required.

我在创建对话框之前加了两条语句
INITCOMMONCONTROLSEX cls={sizeof(INITCOMMONCONTROLSEX),ICC_DATE_CLASSES};
InitCommonControlsEx(&cls);
就好使了!
  • 打赏
  • 举报
回复
感觉不是控件的问题,应该是com库的问题吧
fall1979 2006-04-26
  • 打赏
  • 举报
回复
我查看了atlctrls.h 没看出来什么玄机啊!
hz张三 2006-04-26
  • 打赏
  • 举报
回复
打开 atlctrls.h,

自己慢慢研究吧。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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