如何将已有的资源添加到如今工程中

在MFC编程中,为了节约时间,方便操作,有时候需要将现有工程的资源直接拿来为正在编写的工程服务。

设有工程A,现在要新建一个工程B,在B要见一个和A里面一样的的资源,比方说对话框资源,为了避免重现创建带来的各种重复和麻烦,我们可以直接引用A中编辑好的资源,从而大大节省了时间,具体步骤如下:

(1)、在A工程下有编辑好的对话框资源,资源是一个登陆对话框,如图

好,现在我们记住这个对话框的相关信息,比如ID:登陆界面····等等

打开工程所在文件目录,找到XXX.rc文件,用记事本打开,找到与你的对话框相关的信息,如下:

// Dialog

//

IDD_LOGIN_DLG DIALOGEX 0, 0, 143, 58

STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU

CAPTION "登陆界面"

FONT 8, "MS Shell Dlg", 400, 0, 0x1

BEGIN

    EDITTEXT        IDC_ID_EDIT,45,7,83,12,ES_AUTOHSCROLL

    EDITTEXT        IDC_PASS_EDIT,45,20,83,12,ES_PASSWORD | ES_AUTOHSCROLL

    LTEXT           "用户名:",IDC_STATIC,9,9,33,8

    LTEXT           "密    码:",IDC_STATIC,9,23,33,8

    PUSHBUTTON      "登录",IDOK,75,38,54,14

    PUSHBUTTON      "取消",IDCANCEL,22,38,52,14

END

将其拷贝下来;然后打开我们现建的工程B,同样找到B的XXX.rc,用记事本打开,在以前对话框下,把刚刚拷贝的文本粘贴下来,保存一下。

(2)OK,现在打开我们的工程B,就会发现已经将登陆对话框资源添加进来了。编辑一下,会提示你控件的ID没有定义,为什么?这是因为在A工程里面我们已经在其resource.h里面我们已经给弓箭ID进行定义了,但是B里面还没有,

A中定义如下://

#define IDM_ABOUTBOX                    0x0010

#define IDD_ABOUTBOX                    100

#define IDS_ABOUTBOX                    101

#define IDD_DLGTEST_DIALOG              102

#define IDR_MAINFRAME                   128

#define IDD_LOGIN_DLG                   130

#define IDC_ID_EDIT                     1007

#define IDC_PASS_EDIT                   1008

不要急,我们根据登陆窗口中需要的控件,将其ID的定义添加进去,这里把一下相关的

#define IDD_LOGIN_DLG                   130

#define IDC_ID_EDIT                     1007

#define IDC_PASS_EDIT                   1008

拷贝到B中的resource.h 里面,注意,避免与已有ID号重复!!

(3)经过上面的步骤,基本已经达到我们的目的了,但是可能会出现在这样一种问题就是,在A中的空间中的Caption在B中现实的是乱码了,这种情况下,我们就需要手动的更改一下控件的Caption拉,按照自己空间功能,命名!OK,大功告成!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值