А фиг его знает, правильно ли я ресурсы перекрываю.
Для модальных диалогов все понятно. Создаем объект класса CAcModuleResourceOverride, вызываем DoModal, удаляем объект.
А для немодальных-то диалогов чего делать? Моя немодальная форма создается в одном месте, а показывается в другом. Так что я перекрываю ресурсы так:
func1()
{
...
myResources=new CAcModuleResourceOverride();
HWND hwndAcad = adsw_acadMainWnd();
if (!hwndAcad)
{
AfxMessageBox( "Unable to locate AutoCAD parent window." );
return false;
}
CWnd *pWnd = CWnd::FromHandle ( hwndAcad );
if (!resForm)
{
if (!(resForm=new CSpellResultForm(pWnd)))
{
AfxMessageBox ( "Unable to allocate result dialog." );
return false;
}
if (!resForm->Create(pWnd))
{
AfxMessageBox ( "Unable to create result dialog." );
return false;
}
}
pWnd->SetFocus();
...
delete myResources;
...
}
func2()
{
...
CAcModuleResourceOverride *myResources=new CAcModuleResourceOverride();
resForm->ShowWindow(SW_SHOWNORMAL);
delete myResources;
}
Не знаю, насколько это правильно. Кто знает, прокомментируйте, пожалуйста.