用了ON_COMMAND_RANGE,但按钮都是灰的,怎么Enable他们呀?

soliii 2006-07-18 11:27:16
我在.h中添加了
//{{AFX_MSG(CSelDialogBar)
// NOTE: the ClassWizard will add member functions here
virtual void OnSelMsg(UINT nID);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()


在.cpp中添加了

BEGIN_MESSAGE_MAP(CSelDialogBar, CDialog)
//{{AFX_MSG_MAP(CSelDialogBar)
// NOTE: the ClassWizard will add message map macros here
ON_COMMAND_RANGE(IDC_SEL_A, IDC_SEL_A27, OnSelMsg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

为什么按钮出来都是灰的不可选呀?谢谢。
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐鹦鹉 2006-07-18
  • 打赏
  • 举报
回复
看清楚对这个宏的说明:
ClassWizard does not support message map ranges, so you must place the macro yourself. Be sure to put it outside the message map 。
映射申明必须放到message map的外部。你放在了里面,就不可以了。
例子:
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
// ...
//}}AFX_MSG_MAP
ON_COMMAND_RANGE(ID_FILE_MENUITEM1, ID_FILE_MENUITEM3, OnFileMenuItems)
END_MESSAGE_MAP()
soliii 2006-07-18
  • 打赏
  • 举报
回复
搞定了,是消息映射的问题,看上去好像CDialogBar的消息不是发到Dialog上,而是发到Mainframe上。
xiaolizi 2006-07-18
  • 打赏
  • 举报
回复

问题解决了

1。打开resource.h,需要Range的ID的索引必须是连续的,因为在编辑ID的时候,如果修改过,或者中间插入过其他ID,则ClassWizard可能会产生不连续的ID,此时在范围之外的ID的按钮就变成灰色了。
2。需要Rebuild项目

xiaolizi 2006-07-18
  • 打赏
  • 举报
回复
支持一下楼主,我也正好碰到这个问题,比如通过ClassWizard增加的消息事件,按钮是正常的,然后自己加入ON_COMMAND_RANGE把2个消息合并成一个,结果按钮就变成灰色了
soliii 2006-07-18
  • 打赏
  • 举报
回复
还是不行呀
gdsdyl 2006-07-18
  • 打赏
  • 举报
回复
楼上正解,来晚了
已经博主授权,源码转载自 https://pan.quark.cn/s/008193215f29 在处理英文PDF文献进行阅读和翻译的过程中,常常会碰到一个挑战:文档内的换行标记可能干扰翻译的精确度。 这一现象的产生源于谷歌翻译等在线翻译服务在解析含换行符的内容时,常将其错误地解读为语句的终止点,进而引发翻译结果的偏差。 为了应对这一难题,我们可以运用若干实用策略来改善翻译流程。 下面介绍一种行之有效的方法:首先,需要将英文PDF文献中的文字信息进行复制。 这一操作可以通过两种途径实现:1. 利用PDF转WORD软件:众多第三方应用程序例如Adobe Acrobat或在线转换平台,能够协助我们将PDF资料转化为Word文档,从而获取无换行符的纯文本格式。 2. 直接从PDF文档提取:倘若PDF文件具备编辑属性,用户可以选取文本并执行复制动作,尽管这种方式有时仍会保留换行符,但后续可进行相应处理。 随后,建议采用WPS Office(国产办公应用)进行深入编辑。 WPS具备卓越的文本处理能力,可协助我们清除换行标记并优化段落布局。 具体操作步骤如下:1. 下载并安装WPS Office。 若个人电脑尚未安装该软件,可从其官方网站获取并完成安装流程。 2. 启动WPS的文字编辑模块。 在WPS中创建一个新文档,并将从PDF复制的文本粘贴至其中。 3. 在WPS的界面顶部,定位“开始”功能键,并点击进入。 4. 在“开始”功能区下,查找“文字工具”选项。 此功能集合提供了多种实用工具,有助于解决各类文本难题。 5. 在“文字工具”内,识别“删除空格”功能。 此步骤旨在移除文本中的所有空白字符,包括由换行产生的额外空格。 6. 继续选择“段落重排”功能。 该操作将依据实际语境自动调整文本的分句方式,确保每个句子的完整...

15,976

社区成员

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

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