分享

VC6不同工程间复制对话框的方法

 嘿嘿天亮了 2013-05-03

方法一(正统方案,但忌讳ID重名)
1、在源工程中选中需转移的类,点右键,选“add to gallary”  
2、到目的工程中选菜单中的工程 -> 添加工程 -> components and controls,进入到源工程名字的目录下,选中你刚才加到gallary中的类名称件(后缀为OCX)

方法二
假设你的程序是test2,你要复制test1中的对话框  
打开test2工程.dsw -> Open file -> 选择test1中的.rc文件(可以看到test1中的所有资源) -> 选择你要复制的对话框(Ctrl+C) -> 选择test2中resource view面板 -> 选择Dialog目录(Ctrl+V)

方法三

第一步:用记事本打开原工程的.rc文件,找到想复制的对话框的信息,如下所示

IDD_UGMS_DIALOGDIALOGEX 0, 0, 320, 230
STYLE WS_CHILD | WS_VISIBLE
EXSTYLE WS_EX_APPWINDOW
FONT 9, "宋体"
BEGIN
    GROUPBOX        "学生信息",IDC_STATIC,10,8,290,200
    GROUPBOX        "",IDC_STATIC,25,55,205,120
    PUSHBUTTON      "最前(&F)",IDC_BUTTON_FIRST,30,30,35,15
    PUSHBUTTON      "向前(&B)",IDC_BUTTON_PRE,82,30,35,15
    PUSHBUTTON      "向后(&N)",IDC_BUTTON_NEXT,134,30,35,15
    PUSHBUTTON      "最后(&L)",IDC_BUTTON_LAST,186,30,35,15
    PUSHBUTTON      "查询(&Q)",IDC_BUTTON_QUERY,246,70,40,15
    PUSHBUTTON      "增加(&A)",IDC_BUTTON_ADD,246,96,40,15
    PUSHBUTTON      "修改(&M)",IDC_BUTTON_MODIFY,246,122,40,15
    PUSHBUTTON      "删除(&D)",IDC_BUTTON_DELETE,246,148,40,15
    PUSHBUTTON      "确定(&O)",IDC_BUTTON_OK,58,183,40,15
    PUSHBUTTON      "取消(&C)",IDC_BUTTON_CANCEL,150,183,40,15
    LTEXT           "学号:",IDC_STATIC,52,75,25,8
    LTEXT           "姓名:",IDC_STATIC,52,100,25,8
    LTEXT           "性别:",IDC_STATIC,52,125,25,8
    LTEXT           "入学时间:",IDC_STATIC,44,151,41,8
    EDITTEXT        IDC_EDIT_SID,91,72,95,15,ES_AUTOHSCROLL
    EDITTEXT        IDC_EDIT_SNAME,91,96,95,15,ES_AUTOHSCROLL
    EDITTEXT        IDC_EDIT_SSEX,91,120,95,15,ES_AUTOHSCROLL
    CONTROL         "DateTimePicker1",IDC_DATETIMEPICKER_SCOMEDATE,
                    "SysDateTimePick32",DTS_RIGHTALIGN | WS_TABSTOP,91,144,
                    95,15
    GROUPBOX        "",IDC_STATIC,25,19,205,35
END

上面代码中绿色背景代表的是要复制的对话框资源的ID,此段代码也就是.rc文件中记录的此对话框的信息,黄色背景中间的代码就是

相应对话框中添加的控件信息,只需将相应代码拷到新工程的相应.rc文件相应的ID对话框资源的BEGIN 和END之间即可;

第二步:打开原工程的FileView视图下的Header Files 下的resource.h文件,将其中相应ID的信息复制到新工程的resource.h中即可;

例如:

//复制的资源ID
#define IDC_BUTTON_FIRST                1000
#define IDC_BUTTON_PRE                  1001
#define IDC_BUTTON_NEXT                 1002
#define IDC_BUTTON_LAST                 1003
#define IDC_BUTTON_QUERY                1004
#define IDC_BUTTON_ADD                  1005
#define IDC_BUTTON_MODIFY               1006
#define IDC_BUTTON_DELETE               1007
#define IDC_BUTTON_OK                   1008
#define IDC_BUTTON_CANCEL               1009
#define IDC_EDIT_SID                    1010
#define IDC_EDIT_SNAME                  1011
#define IDC_EDIT_SSEX                   1012
#define IDC_DATETIMEPICKER_SCOMEDATE    1013

第三步:记得不要遗漏啊,如有ID重复,可以更改一下即可!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多