我正在做一个MFC VS2013项目,尝试将一些对话框从一个项目移到另一个项目。我的以下步骤是:
查找此对话框资源ID(eg.IDD_DIALOG1) 在项目name.rc文件中搜索此ID 将相关代码复制到目标project.rc文件 将相关的*.h和*.cpp文件复制到目标项目
现在我的问题是,当我搜索projectname.rc文件时。实际上,我在这个文件中找到了几个与此ID相关的位置。是否需要将所有这些位置移动到新的资源文件中?还是我只需要移动位置1的代码?地点2、3和4的含义是什么?
//Location1:
//
// Dialog
//
IDD_DIALOG1 DIALOGEX 0, 0, 239, 190
STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Settings"
FONT 9, "Tahoma", 0, 0, 0x0
BEGIN
CONTROL " Default to Use",IDC_CHECK_USE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,6,222,8
GROUPBOX "Test2",IDC_STATIC,6,18,228,48,NOT WS_VISIBLE
LTEXT "Test1:",IDC_STATIC,12,32,132,8
EDITTEXT IDC_GES_EDIT_PROC_INTERVAL,150,30,78,12,ES_AUTOHSCROLL | WS_GROUP
......
END
//Location2:
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_DIALOG1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 231
TOPMARGIN, 7
BOTTOMMARGIN, 186
END
END
#endif // APSTUDIO_INVOKED
//Location3:
//
// Dialog Info
//
IDD_DIALOG1 DLGINIT
BEGIN
IDC_GDD_COMBO_ANGLE, 0x403, 5, 0
0x6f4e, 0x656e, "\000"
...
0
END
//Location4:
//
// AFX_DIALOG_LAYOUT
//
IDD_DIALOG1 AFX_DIALOG_LAYOUT
BEGIN
0x0000
END发布于 2018-03-23 07:27:53
您需要复制除DESIGNINFO之外的所有内容(意思是:所有其他内容都是必需的,DESIGNINFO可能有用)。这些信息只是为资源定义的帮助行和边距。它们不编译,在运行时也不需要。它们在设计时间上很有帮助。
将资源从一个资源复制到另一个资源的最简单方法是在同一个Visual会话中打开两个rc文件。而不是选择一个对话框复制和粘贴到第二个RC文件。这将复制您所需的所有内容,包括所需的ID。
https://stackoverflow.com/questions/49441433
复制相似问题