MFC Dialog中F1自动弹出WinHelp窗口
来源:互联网 发布:智能配音软件 编辑:程序博客网 时间:2024/06/06 16:59
ZZ: http://blog.csdn.net/silvervi/article/details/6445172
MFC中,键盘上的F1加速键会直接和基类的WinHelp函数关联,从而按下F1打开和应用同名的HLP文件。如果我们的帮助文件格式是其它格式,如chm,或者文件的名字不一样,则需要重载WinHelp函数,在函数内部修改m_pszHelpFilePath变量。通常,我们的MFC不一定会有help文档,如果没有,我们希望将此MSG屏蔽,以避免用户按F1时,弹出提示框。
如果在Visual Studio中采用wizard重载WinHelp函数,它的格式如下:
virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT);
上述重载函数在32位系统上运行没有任何问题,当代码编译成x64版本运行在64位系统上后,就出现了问题,不能进入该重载函数 。开始以为是64位系统中与F1关联的WinHelp为子窗口或者父窗口的,由于我的界面由property sheet构成,所以猜想是否是64位下,关联到了单个sheet的WinHelp。经过同事帮助发现是重载失败,原因如下:
最新的WinHelp函数原型已经有了变化,该原型可以兼容64位及32位,估计是微软后期添加的函数,格式如下:
virtual void WinHelp( DWORD_PTR dwData, UINT nCmd = HELP_CONTEXT );
该API可以在msdn上轻易找到,可以看到,主要的变动是DWORD_PTR这个类型,这个类型在32位系统上长度为32bits,64位系统上则为64bits。
于是乎,按照这个改动,将重载函数的参数类型做以修改就可以了。
- MFC Dialog中F1自动弹出WinHelp窗口
- art.dialog弹出窗口
- 使用dialog弹出窗口
- dialog中含有edittext弹出时自动弹出输入法
- MFC中创建并弹出子窗口
- dialog底部自动弹出
- 自定义Dialog 实现弹出窗口
- MFC中WinHelp函数在64位系统上重载失败的原因
- vs 2008 MFC Dialog窗口中增加toolbar 的方法
- 自定义dialog中Edittext自动弹出输入法问题
- Dialog中EditText不能自动弹出输入法解决方法
- 弹出dialog 窗口; 以及在dialog 中关闭并且刷新父窗体的方法
- MFC 窗口Dialog 添加背景图片
- Dialog自动弹出软键盘
- 自动弹出窗口
- 自动弹出窗口
- 自动弹出窗口代码
- 弹出窗口自动关闭
- linux find命令参数及用法详解
- 第四次课后作业
- ARM体系结构与编程学习(九)
- robotium clickOnText(), clickInList() 问题: android 屏幕密度设置引起
- ARM体系结构与编程学习(十)
- MFC Dialog中F1自动弹出WinHelp窗口
- linux中的热插拔和mdev机制(深入理解嵌入式linux文件系统的制作)
- 【黑马程序员】(续)SqlHelper+三层架构 +例子1)复习创建客户和三层的知识+、(例子2)项目初始框架(HRMSys)
- 如何使得VC++6.0时刻显示行号
- 验证码应用的领域有哪些?
- 利用flashback query解决误删除表数据
- 哈工大 ACM 排序、查找算法 1002
- 有些观点不一定适合你.......规划小结< 季度总结 >
- ARM体系结构与编程学习(十一)