Такая вот трабла: создается модальный диалог настройки. При желании пользователя можно включать предпросмотр (тоже диалог, но немодальный). После его создания делаю SetActiveWindow(hDlg), где hDlg — диалог настройки. Если предпросмотр включается во время "работы" диалога, то все работает нормально. Если же сразу при показе настроек, то активируется окно предпросмотра и SetActiveWindow ничего не меняет. Как это можно победить?
Примерный код:
обработка сообщений
...
case WM_SHOWWINDOW:
// поиск диалогового класса
if (dlg->first_show)
show_preview();
...
...
создание превью:
...
// hDlg - хендл диалога настроек
preview = new Preview_dialog();
create_non_modal_dialog(hDlg, preview, ...)
SetActiveWindow(hDlg);
...
Заранее благодарю
Нашел проблему — дело в том, что создание превью вызывается в момент первого показа диалога (т.е. он не еще не показан). Соответственно, SetActiveWindow ничего не может сделать с невидимым окном.