Использование редактора диалогов MFC для добавления обработчиков событий с использованием только библиотеки ресурсов

Первоначально в моей программе MFC был один файл .rc, содержащий ресурсы для двух языков. Но теперь у меня есть два файла .rc в двух отдельных проектах dll только для ресурсов (в том же решении), и я использую LoadLibrary () и AfxSetResourceHandle () для динамического выбора языка (на который я ссылался) Эта статья).

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

РЕДАКТИРОВАТЬ:

Я немного изменил подход. Вместо того, чтобы создавать новые RC-файлы в отдельных ресурсных проектах, я создал их в основном проекте и исключил их из сборки. И я сделал их ссылками на отдельные ресурсные проекты.

Одним из важных моментов было то, что я добавил #include "resource.h" в Директивы символов только для чтения каждого файла RC (Вы можете сделать это, щелкнув правой кнопкой мыши файл RC в представлении ресурсов и выбрав Ресурс включает в себя вещь). "resource.h" вот тот, который связан с оригинальным RC-файлом основного проекта, в котором есть ресурсы для нескольких языков. Я не знаю, почему я должен добавить это, но кажется необходимым для спутниковой библиотеки DLL работать хорошо.

Осталась одна проблема — как сохранить несколько файлов RC. Для добавления ресурсов, если мне нужно сохранить исходный RC-файл и его файл resource.h, мне, возможно, придется сначала добавить ресурсы в исходный RC-файл, а затем скопировать их в каждый RC-файл для конкретного языка. Это правильный метод, или я могу продолжать без оригинального файла RC?

1

Решение

Включите в проект файл RC только для этого ресурса DLL. Но исключите это из сборки.

Если у вас есть два файла ресурсов. Используйте файл ресурсов по-другому:

  1. Создайте отдельную программу с обычным файлом ресурсов MFC …
  2. Используйте языковые теги для всех ресурсов диалога внутри
  3. Чем использовать этот ресурс во втором проекте для создания сателлитной DLL
  4. Установите компилятор ресурсов, чтобы ресурсы, помеченные специальным языком, не включались.
1

Другие решения


По вопросам рекламы [email protected]