Hi ALL !
Есть программа-диспетчер (создана на основе визарда, SDI,
без архитектуры doc/view), эта программа по нажатию пункта меню
загружает dll, в которой хранится класс, производный от CFormView со
своим ресурсом диалога, который хранится в dll. Из dll создаю объект этого класса.
Проблема: невозможно переключить управление по TAB от одного
элемента управления к другому на форме.
Как мне решить эту проблему.
Заранее благодарен.
Здравствуйте Stalker, Вы писали:
S>Hi ALL ! S>Есть программа-диспетчер (создана на основе визарда, SDI, S>без архитектуры doc/view), эта программа по нажатию пункта меню S>загружает dll, в которой хранится класс, производный от CFormView со S>своим ресурсом диалога, который хранится в dll. Из dll создаю объект этого класса. S>Проблема: невозможно переключить управление по TAB от одного S>элемента управления к другому на форме. S>Как мне решить эту проблему. S>Заранее благодарен.
Твоя основная программа когда загружает дллку скорее всего глюкует от того что на форме есть контролы с идентификаторами которые в твоей проге уже используются. Надо видимо дескриптор ресурсов переключить:
HINSTANCE h = AfxGetResourceHandle(); // хендл ресурсов основной твоей проги
AfxSetResourceHandle(::GetModuleHandle("your.dll"));
тут юзаем ресурсы из твоей билиотеки
потом восстанавливаем основной хендл твоей проги
AfxSetResourceHandle(::GetModuleHandle(h));
Здравствуйте Юнусов Булат, Вы писали: ЮБ>Твоя основная программа когда загружает дллку скорее всего глюкует от того что на форме есть контролы с идентификаторами которые в твоей проге уже используются. Надо видимо дескриптор ресурсов переключить: ЮБ>HINSTANCE h = AfxGetResourceHandle(); // хендл ресурсов основной твоей проги ЮБ>AfxSetResourceHandle(::GetModuleHandle("your.dll")); ЮБ>тут юзаем ресурсы из твоей билиотеки
ЮБ>потом восстанавливаем основной хендл твоей проги ЮБ>AfxSetResourceHandle(::GetModuleHandle(h));
Пробовал, не помогло.
Еще я заметил, что PreTranslateMessage() загруженной в dll вьюшки
вообще не вызывается.