24小时热门版块排行榜    

查看: 1311  |  回复: 30
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyw小欣

木虫 (正式写手)

[交流] 【求助】VC的一个小问题

我在看别人的程序时,resource.h文件夹应该都是添加的资源然后VC给默认定义的资源吧,假设#define ID_POP_LISTCTRL                 301,定义的这个,我想知道我怎么样知道ID_POP_LISTCTRL是什么资源呢?是对话框,菜单中的控件还是什么呢?如果是控件,是哪个对话框或者哪个菜单的呢?
    感觉是小问题,求高手帮助!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

zyw小欣(金币+10): 2010-11-02 15:22:08
这个东西是IDE自动生成的,楼主不需要自己去编辑它的。如果要找的话,就在.rc文件中 。

比如某工程的resource.h的开头部分如下:
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
//Used by Exe.rc
   这里已经注明了是Exe.rc用的
//
#define IDD_EXE_DIALOG                  102
#define IDR_SOUND1                      102
#define IDR_MAINFRAME                   128
#define IDD_DIALOG1                     133
#define ID_RADIO_EVERYDAY               1002
#define ID_RADIO_EVERYWEEK              1003
#define ID_RADIO_CUSTOM                 1004
#define ID_CHECK_MON                    1005

找到这个工程的.rc文件,可以看到其内容如下:
//Microsoft Developer Studio generated resource script.
//

#include "resource.h"  //注意这里引用了resource.h

//中间一段内容省略掉了
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//


IDD_EXE_DIALOG DIALOGEX 0, 0, 401, 305 //这里IDD_EXE_DIALOG是个DIALOG
STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Timer Configuration"
FONT 9, "宋体"
BEGIN
    CONTROL         "启用闹钟(&U)",ID_CHECK_ENABLE_TIMER,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,17,60,10
    CONTROL         "每天(&E)",ID_RADIO_EVERYDAY,"Button",BS_AUTORADIOBUTTON |
                    WS_DISABLED,14,49,306,10
    CONTROL         "每星期(&K)",ID_RADIO_EVERYWEEK,"Button",
                    BS_AUTORADIOBUTTON | WS_DISABLED,14,68,304,10 //这里ID_RADIO_EVERYWEEK是IDD_EXE_DIALOG中的一个Button,其他的ID也可以在RC文件中找到,楼主自己找吧。

PS:如果楼主连消息映射都不清楚的话,建议搂住还是找本MFC的书好好看看吧。MFC要搞清楚还是要花点功夫的,如果楼主用得到,还是不要太浮躁,看本好点的书有好处的。

[ Last edited by magic7004 on 2010-11-2 at 13:08 ]
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
22楼2010-11-02 13:05:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

zyw小欣(金币+5): 2010-11-03 08:50:15
引用回帖:
Originally posted by zyw小欣 at 2010-11-02 15:24:05:


你说的这些我都懂,可是确实在.RC文件中没有啊,而且我试过了,有一些在resource.h中有的ID号,在.rc文件中就是查不到的。那查不到的话它到底是什么呢?

这样啊,那就是被删掉了啊。
被删掉的资源的ID在resource.h中是不会被删掉的,VC的IDE就是这么傻。

比如楼主在对话框中加入一个button,给个ID:ID_LZ_BUTTON,resource.h中就会有#define ID_LZ_BUTTON XX,后来楼主把这个button删掉,rc中就不会有ID_LZ_BUTTON了,但是resource.h中还是有的。

所以说,IDE自动生成的东西,不要手动去动它,没好处了。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
24楼2010-11-02 20:26:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyw小欣 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见