MFC是,如何更改对话框的名字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC是,如何更改对话框的名字?相关的知识,希望对你有一定的参考价值。

比如,在VC6.0中,我新建一个MFC的基本对话框. 这个对话框默认的名字为IDD_DB_0615210097_DIALOG , 现在我想把这个名字改为 IDD_Login但是改了以后,发现进入类向导时,无法发现窗口中新建立的控件...请问应该怎么样做才能让类向导能联系上控件信息?还有就是编译的时候,有时会发生新建的类不见了.这问题又怎么解决?难道每做几步就要保存一次?

方法:
BOOL CGraphicDoc::OnNewDocument()

if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
SetTitle(“www.sunxin.org”);//设置初始窗口的标题
return TRUE;

OnNewDocument()这个函数在程序启动的时候就被调用,可以在这个函数里面修改初始窗口的标题。
参考技术A 如果你改 IDD时已经建立了对话框类,修改了IDD后注意手动改下头文件中 enumIDD=XXXX
新类不见了可能也是因为这个,另外,关掉vc,删除目录中的ncb文件,打开再试试。
最后推荐使用vs2008本回答被提问者和网友采纳
参考技术B 你在选中或打开对话框编辑的时候,打开向导。另外,注意及时保存就可以了。

如何移动MFC项目的对话框

【中文标题】如何移动MFC项目的对话框【英文标题】:How to move dialog boxes of MFC project 【发布时间】:2014-09-09 15:46:17 【问题描述】:

我对一个版本的 MFC 基本代码进行了一些更改,但现在我想将部分更改(包括一些对话框)复制到另一个项目。对话框可以原样复制到新的 MFC 项目中。但我找不到任何与 cpp 上的对话框相关的文件,并且头文件在那里。请告诉我有没有办法将对话框从一个 MFC 项目复制到另一个项目

谢谢

【问题讨论】:

【参考方案1】:

您可能正在寻找的是自动生成和处理的资源文件,如 resource.h、resource.rc 和朋友。您可以在此处阅读有关它们的更多信息:How to: Copy Resources 以及更多一般信息,请参见 Resource Files (Visual Studio)。

虽然可以在 Visual Studios 的资源视图中打开这些文件,但它们也可以作为文本打开和查看;即使在 Visual Studio 中,只要资源视图当前未打开,但 VS 会告诉您是否是这种情况。

现在 MFC 对话框通过一个名为 IDD 的枚举引用它们使用的对话框模板资源,该枚举定义在对话框的头文件 f.e.中

class CTest : public CDialog  /*...*/  enum  IDD = IDD_TEST_DIALOG ; 

所以几乎所有你可能需要做的就是搜索指定的资源 ID,在 /one .rc 文件中查找它并将所需的部分(标题 + 从 BEGIN 到 END 的所有内容)复制到你的新项目. 然后,作为第二步,您需要为该对话框中使用的所有资源 id 定义唯一值(但不是像 IDOK 这样的常见资源 id)。这通常在 resource.h 中完成:

#define IDD_TEST_DIALOG               142

因此您必须将特定对话框中使用的所有定义也复制到目标 resource.h 中,并确保没有重复的数字。 另请注意,可能存在多个包含资源的文件,其中一些可能是其他项目的一部分resource only dll's f.e.。

【讨论】:

以上是关于MFC是,如何更改对话框的名字?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 MFC/VC++ 对话框应用程序中按钮的前景色(即文本或标题)

如何在 MFC 中更改弹出窗口的默认位置

不要在 mfc 中更改相对于 windows dpi 的对话框字体?

MFC如何隐藏对话框?

更改 MFC 对话框元素的背景颜色

MFC:如何通过鼠标滚轮启用页面更改以进行打印预览?