如何在来自其他VS 2013项目的新VS 2013项目中使用对话框(资源文件)?

时间:2015-09-29 22:46:46

标签: c++ visual-studio-2013 mfc dialog resource-files

首先我要说的是,我不想在两个项目上提供资源文件的副本(我已经看到了一个问题)。

使用Windows 7,MS VS 2013,C ++,MFC。

我将引用的这两个项目是同一解决方案的一部分。

我有一个用rc / h / cpp文件创建的对话框,它在一个项目中工作(项目A)。我希望能够从单独项目(项目B)中的例程打开该对话框。项目B有一个GUI按钮,点击后我希望从项目A中调出对话框。

我在项目B的属性中包含了对项目A的引用。

我在项目B的rc文件中包含了(#include)项目A的rc文件路径(它负责资源文件,资源文件的定义编号不重叠)。

我已将路径(从项目A)包含到控制项目B中对话框的类中(在包含用于调出对话框的事件处理程序的文件中)。

我的设置没有错误,它只是没有做任何事情。我创建对话框并尝试DoModal就像我在项目A中的任何地方(它工作的地方)并没有任何反应,我可以多次点击按钮,它永远不会带来任何东西。

我无法提供任何关于此的代码,但我希望有足够的信息可以给我一些线索。我现在迷路了。谢谢。

例行程序:

#include "DialogIWant.h"

...

void OnPushButtonOnProjectB ()
{
    CDialogIWant dialog;  // CPP/H/RC in the other project A
    dialog.DoModal();  // Nothing comes up
}

1 个答案:

答案 0 :(得分:0)

资源文件可以像使用任何其他C ++文件一样使用#inclde。将对话框资源放在单独的文件中,并将其包含在两个项目的.rc文件中。

您还需要共享资源ID定义,通常位于resource.h