CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

ON_COMMAND_RANGE()中的消息映射错乱,急等帮忙分析!!

楼主mashaowuxyz(飓风)2004-05-03 21:29:27 在 VC/MFC / 基础类 提问

刚学VC,试着做一个计算器。其中使用2个ON_COMMAND_RANGE(),用来分别群处理计算器的两类按扭,即0-9共10个数字键以及+,-,*等操作键。开始编译成功后按键和代码都能一一对应,但是后来修改了RECOUSE.H的的按扭ID值后就发生了混乱,比如按“9”却执行了其他按键的代码。难道编译后就不能更改ID值吗?能不能通过重新编译来确定新的映射入口(这是我最关心的!)?怎么做?  
  出现这个问题,我对VC都快心凉了,因为我是从数字0开始添加按扭的,开始只搞了10个数字键,但后来发现还要添加一个撤消最后一个输入数字的退格键(BACKSPACE),但这样一来,退格键和前面10个数字就被操作键割断了。不能直接加入第一个宏中。所以我就把操作键的ID值都同时增加!空出的值重新赋给推格键,本来以为很完美,但重新编译后发现按了操作键却执行数字键的代码。无论怎么编译,按扭只和原来的ID值建立映射关系!比如”0“原来系统分配的ID值是1000(”1“为1002等等),我把他改成1001后,按”1“就执行了”0“对应的代码?也就是说”1“从宏看来其ID是1001保持原来的不变!映射得到的ID值和按扭实际的ID值不一致,使我感觉不太习惯。从宏的性质来说,第一次编译后就唯一确定了,从这个角度可以解释上面的现象,但是如果是这样,难道我们就不能通过编译的方式来重新确定映射入口值吗?我没有找到办法,我现在的解决方法有:  
  1,删除BACKSPACE键,把所有按键的值改成原来的默认值,这牺牲掉了功能!  
  2,重新设计,给第一个ON_COMMAND_RANGE()预留足够的ID范围;  
  请问大家可以帮我分析真正的原因吗?谢谢指出上面的错误。  
  再线等待1小时!! 问题点数:100、回复次数:5Top

1 楼mashaowuxyz(飓风)回复于 2004-05-03 21:39:11 得分 0

我这里所说的映射入口值是指ON_COMMAND_RANGE(ID1,IDn,fun)  
  fun(UINT   id)   函数   收到的id值。奇怪了,比如”1“明明改成了1002,  
  点击后发现此处id是1001!所以执行了”0“。呵呵,ID   怎么改上面写的  
  有点问题,反正就是改后出错了。上面只是举例子,其实我程序中只改动了  
  操作键(值后移)!希望   快点答复!再谢了!Top

2 楼test2002(test2002)回复于 2004-05-03 22:35:27 得分 0

直接在资源中查ID号,看ID号顺序有无错Top

3 楼anothervip(Never ending... ...)回复于 2004-05-03 23:44:15 得分 50

看看id是否连续。rebuild   allTop

4 楼wwwllg(野蛮人)回复于 2004-05-04 08:06:54 得分 50

打开resource.h.  
  找到你的CommandRange的开始和结束ID,重新,从1001开始,逐个加1,并保持其他ID不重复,然后,rebuildall就ok了。  
   
  你的问题是,你修改了你的资源,vc的IDE自动修改了resource.h,导致你的id出现了,不连续和重复现象。Top

5 楼mashaowuxyz(飓风)回复于 2004-05-04 21:13:08 得分 0

多谢了,原来是我编译时,没有选择“rebuild   all"!一直没有注意看,教训不小!Top

相关问题

  • 在查询分析器中建立映射失败,求解?
  • 映射
  • 初学消息映射 WM_COMMAND 相关问题请教
  • 消息映射!
  • 地址映射?
  • 内存映射
  • 消息映射
  • 模态对话框中怎样消息映射菜单或按钮ID的ON_UPDATE_COMMAND_UI?
  • 在对话框里面使用ON_UPDATE_COMMAND_UI映射工具条(toolbar和菜单(menu)的心得
  • 文件映射,急

关键词

  • 映射
  • 编译
  • 数字
  • 代码
  • 执行
  • 修改
  • vc
  • 值
  • 键
  • 按键

得分解答快速导航

  • 帖主:mashaowuxyz
  • anothervip
  • wwwllg

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo