Нейтральная только ресурсная DLL - PullRequest
1 голос
/ 12 июля 2011

У меня есть ресурс mfc только для dll со строками и меню, но я хочу, чтобы значки и растровые изображения были только в основном приложении (MFC exe), я не хочу иметь одинаковые растровые изображения / значки только в ресурсе n DLL, только в основном приложении.

Возможно ли это? и если есть, как мы можем это сделать? (Я пытаюсь использовать нейтральный язык в значках и растровых изображениях, но когда я делаю loadimage / loadicon, это терпит неудачу.

Примечание: я использую AfxSetResourceHandle (dll) для установки своих ресурсов

Спасибо

Ответы [ 2 ]

1 голос
/ 12 июля 2011

MFC имеет довольно сложную систему для поиска ресурсов широкого спектра дополнительных DLL-библиотек помимо DLL-библиотеки ресурсов, которую вы объявляете (см. AfxFindResourceHandle в dllinit.cpp). Я предлагаю поместить ваши независимые от языка ресурсы в отдельную DLL и рассматривать ее как DLL расширения.

Martyn

1 голос
/ 12 июля 2011

Вы можете просто продолжать вызывать AfxSetResourceHandle каждый раз, когда вам нужно загрузить ресурс, давая ему дескриптор библиотеки DLL, в которой вы ожидаете найти ресурс. В качестве альтернативы вы можете обойти MFC для одного набора ресурсов или другого, используя, например, ::LoadImage, который принимает дескриптор экземпляра в качестве параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...