MFC 之 resource.h和*.rc的关系

当在MFC项目中删除或修改控件ID时,resource.h文件可能不会自动更新,可能导致编译错误。手动更新resource.h以避免冲突,例如添加#define IDD_JK_DIALOG 102等定义,这允许复用已有的.rc文件内容。
摘要由CSDN通过智能技术生成

  先说问题,今天发现删除控件(如static),不会自动更新resource.h,而且修改static控件id,会在resource.h中同时记录修改前后的两个id,但后面的数值(1072)是相同的,下图:

  验证,手动从窗体上删除static控件 ,resource.h并不会自动更新。这样就有个风险就是,resourc.h中的控件ID在代码中农工仍然是可以被使用的,需要注意!

  有次,手动删除新添加的static后,编译居然报错了,查了下,还是因为id修改的原因,屏蔽掉resource.h中的定义就好了。

resource.h 就是 .rc 文件的头文件, .rc 文件里的常量全在 resource.h 定义, 一般情况下不用你去写和修改。 但是如果你想用以前的 .rc
MFC(Microsoft Foundation Classes)中,要将新的对话框(DLG,Dialog Box)添加到资源文件(通常扩展名为`.rc`)的`resource.h`中,你需要按照以下步骤操作: 1. 打开资源编辑器:在Visual Studio中,选择“视图” > “资源编辑器”(Resource Editor),或者直接按`Ctrl+R, R`。 2. 创建新资源:在资源编辑器中,点击顶部菜单栏的“插入”(Insert),然后选择“对话框”(Dialog),比如可以选择“新对话框”(New Dialog)或自定义对话框模板(如IDD_DIALOG_NAME)。 3. 设计对话框:在弹出的新窗口中设计你的对话框,添加控件、布局和事件处理等功能。 4. 保存更改:设计完成后,记得给对话框一个唯一标识符(IDD_加上对话框名称)。例如,如果你创建了一个名为MyDlg的对话框,那么标识符可能是`IDD_MYDLG`。 5. 添加到resource.h:在资源编辑器中,可以看到新创建的资源已经列出。右键单击资源(如IDD_MYDLG),选择“属性”(Properties),确保"Type"设置为`IDD`,表示这是一个对话框资源。接下来,在`resource.h`文件中,资源编辑器会自动生成包含这个资源声明的代码,类似这样: ``` #define IDD_MYDLG IDR_MYDLG ``` 6. 更新项目:最后,点击资源编辑器左上角的“更新项目”(Update Project)按钮,让VS生成项目文件中对新资源的引用。 现在你的新对话框已经被添加到`resource.h`文件,并且可以在代码中通过`IDD_MYDLG`常量来引用它了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值