VC++中复制对话框资源 之较好方法之一

资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下:

碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中。在网上搜了几个帖子发现都说的很生涩。

问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中.

1.在VC2012中打开老的工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件(就是双击后会出现编辑窗口界面的那个东西),按Ctrl+C(Edit->Copy也一样).

2.关闭当前工程,注意不要关闭VC2012,打开目标工程(File->OpenWorkspace),然后选中工作区的Resource标签页中的Dialog文件夹,然后按Ctrl+V(Edit->Paste也一样).好了,对话框拷贝过来了.

3.将对话框类的cpp h文件拷贝到目标工程中(不详细说了,往当前工程添加文件)

4.打开复制过来的类cpp和h文件,删除没用的头文件(老工程相关的),并且在.h文件中添加文件包含

#include "Resource.h"

第四步很关键,老工程中根本就没有这个文件包含,可是移植之后必须手动添加头文件包含.

然后在新工程中就可以使用这个类了,主要就是这个类的对话框中的资源复制头一次遇到.不敢独享,拿出来跟新手们一起学习.

于是,当有已经创建好的对话框资源要添加到新工程中时,具体步骤如下:

(1)右键单击新工程所在的解决方案添加“现有项目”把旧工程添加进来;

(2)切换到“资源视图”并在旧工程对话框资源上右键“复制”;

(3)在新工程对话框资源上右键“粘贴”;

(4)现在就可以为新对话框添加类了,顺便把旧工程的响应函数拷贝过来;

(5)切换回“解决方案资源管理器”,右键旧工程“移除”。

VC++中复制对话框资源 之较好方法之一

时间: 2024-11-07 23:03:17

VC++中复制对话框资源 之较好方法之一的相关文章

VC++中如何复制对话框资源

法1: 在你的工程中添加另一个工程的rc文件,这时资源视图中就会出现两个rc,从后加的rc中拷贝资源到你自己工程的rc中就可以了. 法2:vc中如何拷贝一个工程的对话框资源到另一个工程中? 这是一个很专业也很有用的问题.其实VC的设计者早就为我们考虑了这个问题. 在VC6环境下,选择Class视图,选中想要克隆的对话框所对应的类,例如CAboutDlg,点击鼠标右键,选择Add to gallery.在新工程中选择Project菜单,选择Add Component and ActivX,你会看到

vc中改变对话框的背景色

---- 笔者曾在<软件报>2000年第5期中讨论过如何改变控件的颜色,但还有相当一部分的读者来信提问:一个基于对话框的MFC AppWizard应用程序中,如何改变对话框的背景颜色呢?对于这个问题,其实可以由几种不同的方法来实现,具体如下(粗斜体代码为增添的): ---- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现. ---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色.下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下: --

vc中使用SendMessage正确发送自定义消息的方法

最近在用VC2008做开发,后来由于要用到消息的发送,而且需要自定义消息,在网上查找了很多例子,根据他们所说的,虽然大致都差不多,但是基本上没有 一个能完全做出来的.要知道VC编程有一个小地方出错,都可能是个让你头晕脑胀的事情.经过我后来不但探索,经过改进之后,一点错误都没有,现在贴出来供 大家参考. 1. 先来个基本知识介绍 SendMessage的基本结构如下: SendMessage( HWND hWnd,  //消息传递的目标窗口或线程的句柄. UINT Msg, //消息类别(这里可以

VC中打开对话框选择文件和文件夹

1.选择文件 CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this); if (IDOK == dlg. DoModal()) { MessageBox(dlg .GetPathName(), _T("" )); } 2.选择文件夹 BROWSEINFO bi ;            // BROWSEINFO结构体 TCHAR Buffer [512] = ""; TCHAR Fu

【转】vc中使用SendMessage正确发送自定义消息的方法--不错

原文网址:http://zhoumf1214.blog.163.com/blog/static/5241940200910265532959/ 最近在用VC2008做开发,后来由于要用到消息的发送,而且需要自定义消息,在网上查找了很多例子,根据他们所说的,虽然大致都差不多,但是基本上没有一个能完全做出来的.要知道VC编程有一个小地方出错,都可能是个让你头晕脑胀的事情.经过我后来不但探索,经过改进之后,一点错误都没有,现在贴出来供大家参考. 1. 先来个基本知识介绍 SendMessage的基本结

VC++中查找内存泄漏最简单的方法

1.在整个程序的代码开头(比如stdafx.h文件最前边)加上: #define  CRTDBG_MAP_ALLOC   #include  <stdlib.h> #include  <crtdbg.h> 2.在出口(比如~CApp())加上: _CrtDumpMemoryLeaks(); 注意:若添加的位置不正确,得到的结果可能没有意义.

VC++中使用ADO方式操作ACCESS数据库

ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API.DAO.RDO都要容易使用,并不失灵活性.本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用程序开发,并给出示例代码.为了使读者朋友都能测试本例提供的代码,我们采用Access数据库,您可以直接在我们提供的示例代码中找到

VC中添加web控件的方法

在VC中使用WebBrowser控件的两方法 黄森堂(vcmfc)著 ClassWizard方式: 1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK 2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h) 3.在类的

在VC中创建两套资源解决中英文版本发布的问题

原文http://blog.csdn.net/ylforever/article/details/6745611 一.背景 当软件需要发布多个不同语言版本时,对资源编辑的菜单,按钮,对话框大小形状有不同的要求.比如同个单词用中文/英文描述字符长度差异较大,如果这个单词 用作按钮的标题,对按钮的大小要求就不一样.这时可以有两种解决方法:1.通过代码动态调整按钮的大小,较麻烦,也破坏了VC资源编辑所见即所得规则. 2.准备两套资源,编译不同的版本用不同的资源.下面重点描述第二种处理方法的详细步骤.