有谁知道

worldy 2015-03-25 11:19:07
向各位大侠小侠请教一个问题:

我们在资源编辑器中设置了很多ID,有对话框的有菜单的等等,其中有些ID映射到消息处理程序,我们都设置了映射并编写了处理程序。现在的VS似乎无法通过ID定位到我们先前编写的事件处理程序中,因此回找已经编写的处理程序变得很麻烦,特别是程序大的时候;有没有人知道是否有某个快捷键,可以方便的定位到和当前选定的ID对应的处理程序中?

谢谢!
...全文
315 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-09-06
  • 打赏
  • 举报
回复
请牢记:源代码本身的书写是否结构化或面向对象或符合设计模式或敏捷…并不重要,重要的是你是否使用结构化或面向对象或符合设计模式或敏捷…的方法命名标识符、阅读、修改、检查、测试源代码。 意思是你程序结构看上去再合理,再简洁,也不一定比看上去一团乱麻的程序结构在运行或修改时更不易出错,更方便修改,出错了更容易找到哪里出错和具体出错的原因,更容易改正错误。 试对比 图书馆(对图书的分类够结构化了吧) 和 搜索引擎(可看作是扁平化任何结构数据,仅支持全文检索) 哪个处理信息更方便、更高效。 所以 与其费劲去重构代码让其看上去更简洁、更合理 不如费劲学习grep、sed、awk、……这类全文搜索和批处理编辑的工具。 结构越复杂,越难修改,越难除错。 有时(甚至大多数时候),看上去越合理、越简洁的代码,运行起来性能越差,出错时查找原因越难,找到出错原因后改正越费劲。 程序员要做的不是尽力避免错误,而是聚焦在快速发现并改正错误。真正以快速方式轻易解决错误,“快速的失败”远胜过“预防错误”。Fred George
worldy 2015-04-25
  • 打赏
  • 举报
回复
引用 18 楼 void998 的回复:
这,貌似只能通过查找了。。。 编译器不能帮我们干完所有的事情,如果你想简单,用VC助手吧。。。
VC助手不管资源编辑器啊
void998 2015-04-25
  • 打赏
  • 举报
回复
这,貌似只能通过查找了。。。 编译器不能帮我们干完所有的事情,如果你想简单,用VC助手吧。。。
worldy 2015-04-24
  • 打赏
  • 举报
回复
还有没有人有不同的看法?
Sandrer 2015-03-28
  • 打赏
  • 举报
回复
我比你更麻烦,你写的好歹都是在同一个程序或模块里 我自己习惯每次做项目都是资源和程序分开,主程序里除了一个图标和版本信息外就没有其它资源了 资源都放到独立的一个dll里面,我比你更不好找.........
12304108 2015-03-28
  • 打赏
  • 举报
回复
用ID查找后,那个在消息映射表里那个就是对应的消息映射了。
笨笨仔 2015-03-27
  • 打赏
  • 举报
回复
引用 11 楼 worldy 的回复:
[quote=引用 10 楼 wxhxj0268 的回复:] 在程序头部的消息定义中选中需要的ID,点鼠标右键,选“查找所有引用”。
这个就是目前感觉比较好的办法,但不需要点查找,直接点对应的函数名就可以转;但是有时候找红色那个也有麻烦,程序大了,有时候忘记那个ID用在哪个模块里了[/quote] MFC程序总是在程序顶部的窗口消息循环中
coolcoffee4051982 2015-03-26
  • 打赏
  • 举报
回复
查找功能。。。。,
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 10 楼 wxhxj0268 的回复:
程序头部的消息定义中选中需要的ID,点鼠标右键,选“查找所有引用”。
这个就是目前感觉比较好的办法,但不需要点查找,直接点对应的函数名就可以转;但是有时候找红色那个也有麻烦,程序大了,有时候忘记那个ID用在哪个模块里了
笨笨仔 2015-03-26
  • 打赏
  • 举报
回复
在程序头部的消息定义中选中需要的ID,点鼠标右键,选“查找所有引用”。
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 8 楼 u010005508 的回复:
[quote=引用 7 楼 worldy 的回复:] [quote=引用 5 楼 u010005508 的回复:] [quote=引用 3 楼 worldy 的回复:] [quote=引用 1 楼 u010005508 的回复:] 选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。
这更麻烦: 1得关闭资源编辑器 2打开Resource.h 3查找到ID定义 4才能Refrence [/quote] 资源编辑器没必要关闭,Resource.h也没必要打开! 在资源管理器中获取其某个控件的ID后,然后使用查找功能,在项目中随便获取一个该ID出现的位置就可以使用Refrence喽!10秒以内即可! 我上面那样只是随便找了个ID截个图。。[/quote] 哎,就想看看能否1S里完成[/quote] 找到了在论坛里给大家普及下[/quote] 那是必须的
highnewrain 2015-03-26
  • 打赏
  • 举报
回复
引用 7 楼 worldy 的回复:
[quote=引用 5 楼 u010005508 的回复:] [quote=引用 3 楼 worldy 的回复:] [quote=引用 1 楼 u010005508 的回复:] 选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。
这更麻烦: 1得关闭资源编辑器 2打开Resource.h 3查找到ID定义 4才能Refrence [/quote] 资源编辑器没必要关闭,Resource.h也没必要打开! 在资源管理器中获取其某个控件的ID后,然后使用查找功能,在项目中随便获取一个该ID出现的位置就可以使用Refrence喽!10秒以内即可! 我上面那样只是随便找了个ID截个图。。[/quote] 哎,就想看看能否1S里完成[/quote] 找到了在论坛里给大家普及下
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 5 楼 u010005508 的回复:
[quote=引用 3 楼 worldy 的回复:] [quote=引用 1 楼 u010005508 的回复:] 选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。
这更麻烦: 1得关闭资源编辑器 2打开Resource.h 3查找到ID定义 4才能Refrence [/quote] 资源编辑器没必要关闭,Resource.h也没必要打开! 在资源管理器中获取其某个控件的ID后,然后使用查找功能,在项目中随便获取一个该ID出现的位置就可以使用Refrence喽!10秒以内即可! 我上面那样只是随便找了个ID截个图。。[/quote] 哎,就想看看能否1S里完成
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 4 楼 u011391040 的回复:
工程里搜索ID不就行了吗?
不是麻烦嘛,想知道是否有更快捷的方式,做软件不就是到处寻求快捷吗?
highnewrain 2015-03-26
  • 打赏
  • 举报
回复
引用 3 楼 worldy 的回复:
[quote=引用 1 楼 u010005508 的回复:]
选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。


这更麻烦:
1得关闭资源编辑器
2打开Resource.h
3查找到ID定义
4才能Refrence

[/quote]
资源编辑器没必要关闭,Resource.h也没必要打开!
在资源管理器中获取其某个控件的ID后,然后使用查找功能,在项目中随便获取一个该ID出现的位置就可以使用Refrence喽!10秒以内即可!
我上面那样只是随便找了个ID截个图。。
lougd 2015-03-26
  • 打赏
  • 举报
回复
工程里搜索ID不就行了吗?
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 1 楼 u010005508 的回复:
选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。
这更麻烦: 1得关闭资源编辑器 2打开Resource.h 3查找到ID定义 4才能Refrence
worldy 2015-03-26
  • 打赏
  • 举报
回复
引用 12 楼 zhao4zhong1 的回复:
C:\>findstr /? 在文件中寻找字符串。 FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ ...]] /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配的行。 /N 在匹配的每行前打印行数。 /M 如果文件含有匹配项,只打印其文件名。 /O 在每个匹配行前打印字符偏移量。 /P 忽略有不可打印字符的文件。 /OFF[LINE] 不跳过带有脱机属性集的文件。 /A:attr 指定有十六进位数字的颜色属性。请见 "color /?" /F:file 从指定文件读文件列表 (/ 代表控制台)。 /C:string 使用指定字符串作为文字搜索字符串。 /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。 /D:dir 查找以分号为分隔符的目录列表 strings 要查找的文字。 [drive:][path]filename 指定要查找的文件。 除非参数有 /C 前缀,请使用空格隔开搜索字符串。 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或 "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找 "hello there"。 一般表达式的快速参考: . 通配符: 任何字符 * 重复: 以前字符或类别出现零或零以上次数 ^ 行位置: 行的开始 $ 行位置: 行的终点 [class] 字符类别: 任何在字符集中的字符 [^class] 补字符类别: 任何不在字符集中的字符 [x-y] 范围: 在指定范围内的任何字符 \x Escape: 元字符 x 的文字用法 \<xyz 字位置: 字的开始 xyz\> 字位置: 字的结束 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。 C:\>
自动回帖软件回复的?
赵4老师 2015-03-26
  • 打赏
  • 举报
回复
C:\>findstr /? 在文件中寻找字符串。 FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ ...]] /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配的行。 /N 在匹配的每行前打印行数。 /M 如果文件含有匹配项,只打印其文件名。 /O 在每个匹配行前打印字符偏移量。 /P 忽略有不可打印字符的文件。 /OFF[LINE] 不跳过带有脱机属性集的文件。 /A:attr 指定有十六进位数字的颜色属性。请见 "color /?" /F:file 从指定文件读文件列表 (/ 代表控制台)。 /C:string 使用指定字符串作为文字搜索字符串。 /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。 /D:dir 查找以分号为分隔符的目录列表 strings 要查找的文字。 [drive:][path]filename 指定要查找的文件。 除非参数有 /C 前缀,请使用空格隔开搜索字符串。 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或 "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找 "hello there"。 一般表达式的快速参考: . 通配符: 任何字符 * 重复: 以前字符或类别出现零或零以上次数 ^ 行位置: 行的开始 $ 行位置: 行的终点 [class] 字符类别: 任何在字符集中的字符 [^class] 补字符类别: 任何不在字符集中的字符 [x-y] 范围: 在指定范围内的任何字符 \x Escape: 元字符 x 的文字用法 \<xyz 字位置: 字的开始 xyz\> 字位置: 字的结束 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。 C:\>
highnewrain 2015-03-25
  • 打赏
  • 举报
回复
选中你要查看的ID,通过Find Reference功能,简单快捷啊!不管程序多大,只要映射了消息处理程序,都可以轻松找到啊。。。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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