SetActiveWindow
От: 9val_work  
Дата: 04.09.03 09:09
Оценка:
Такая вот трабла: создается модальный диалог настройки. При желании пользователя можно включать предпросмотр (тоже диалог, но немодальный). После его создания делаю 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);
...

Заранее благодарю
Re: SetActiveWindow
От: 9val_work  
Дата: 04.09.03 13:23
Оценка:
Нашел проблему — дело в том, что создание превью вызывается в момент первого показа диалога (т.е. он не еще не показан). Соответственно, SetActiveWindow ничего не может сделать с невидимым окном.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.