Как переместить диалоговые окна проекта MFC

0

Я внес некоторые изменения в одну версию базового кода MFC, но теперь хочу скопировать часть этих изменений, включая некоторые диалоговые окна в другой проект. Диалоговые окна можно копировать так же, как и в новый проект MFC. но я не мог найти файл, связанный с диалоговыми окнами на cpp, и файлы заголовков есть. Пожалуйста, дайте мне знать, есть ли способ скопировать диалоговые окна из одного проекта MFC в другой

благодаря

Теги:
visual-c++
mfc

1 ответ

2
Лучший ответ

То, что вы, вероятно, ищете, - это автоматически созданные и обработанные файлы ресурсов, такие как resource.h, resource.rc и друзья. Подробнее о них вы можете узнать здесь: Практическое руководство. Копирование ресурсов и многое другое в целом здесь Файлы ресурсов (Visual Studio).

Хотя можно открыть эти файлы в представлении ресурсов Visual Studios, их можно открыть и просмотреть как текст; даже в Visual Studio, пока просмотр ресурсов в настоящее время не открыт, но VS расскажет вам, если это произойдет.

Теперь диалоги MFC ссылаются на свой используемый ресурс шаблона диалога через перечисление с именем IDD, которое определено в файле заголовка диалога, fe

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

поэтому почти все, что вам, возможно, придется сделать, - это поиск указанного идентификатора ресурса, поиск его в /.rc файле и копирование необходимых частей (заголовок + все от BEGIN до END) на ваш новый проект. В качестве второго шага вам нужно определить уникальные значения для всех идентификаторов ресурсов, которые используются в этом диалоговом окне (но не для обычных, таких как IDOK). Обычно это делается в resource.h:

#define IDD_TEST_DIALOG               142

поэтому вам необходимо скопировать все определения, которые используются в вашем конкретном диалоговом окне, к целевому ресурсу.h, а также убедиться, что нет повторяющихся номеров. Помните также, что может существовать несколько файлов, содержащих ресурсы, а некоторые из них могут быть частью других ресурсов ресурса dll.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню