Re[2]: dialog based app
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 30.04.02 02:03
Оценка: 3 (1)
Здравствуйте Юнусов Булат, Вы писали:

RB>>Есть приложение на основе диалога. Хотелось бы начинать производить кое-какие манипуляции после того, как окно приложения уже появилось. Куда подцепить функцию? Вставка функции в обработчики WM_CREATE или WM_SHOWWINDOW нужного результата не дала.


ЮБ>А WM_INITDIALOG не подходит?


так окно же становится видимым после того как отработает обработчик WM_INITDIALOG...

Можно в обработчике WM_INITDIALOG послать своему же окну PostMessage, а уже в его обработчике начинать действия, которые должны проходить при видимом окне.
dialog based app
От: Ruslan Bondarev  
Дата: 29.04.02 19:55
Оценка:
Есть приложение на основе диалога. Хотелось бы начинать производить кое-какие манипуляции после того, как окно приложения уже появилось. Куда подцепить функцию? Вставка функции в обработчики WM_CREATE или WM_SHOWWINDOW нужного результата не дала.
Re: dialog based app
От: Юнусов Булат Россия  
Дата: 29.04.02 20:09
Оценка:
Здравствуйте Ruslan Bondarev, Вы писали:

RB>Есть приложение на основе диалога. Хотелось бы начинать производить кое-какие манипуляции после того, как окно приложения уже появилось. Куда подцепить функцию? Вставка функции в обработчики WM_CREATE или WM_SHOWWINDOW нужного результата не дала.

А WM_INITDIALOG не подходит?
Re[2]: dialog based app
От: Ruslan Bondarev  
Дата: 30.04.02 12:05
Оценка:
Здравствуйте Юнусов Булат, Вы писали:

ЮБ>Здравствуйте Ruslan Bondarev, Вы писали:


RB>>Есть приложение на основе диалога. Хотелось бы начинать производить кое-какие манипуляции после того, как окно приложения уже появилось. Куда подцепить функцию? Вставка функции в обработчики WM_CREATE или WM_SHOWWINDOW нужного результата не дала.

ЮБ>А WM_INITDIALOG не подходит?

Окно появляется после того, как отработал обработчик WM_INITDIALOG
Re[3]: dialog based app
От: Ruslan Bondarev  
Дата: 30.04.02 12:20
Оценка:
Здравствуйте Odi$$ey, Вы писали:

ЮБ>>А WM_INITDIALOG не подходит?

O$>так окно же становится видимым после того как отработает обработчик WM_INITDIALOG...
O$>Можно в обработчике WM_INITDIALOG послать своему же окну PostMessage, а уже в его обработчике начинать действия, которые должны проходить при видимом окне.

Действительно. Спасибо.
Один нюанс меня волнует: когда я начну обрабатывать свое сообщение -- мой диалог гарантированно появится?
Re: dialog based app
От: ng Россия  
Дата: 30.04.02 12:20
Оценка:
Здравствуйте Ruslan Bondarev, Вы писали:

RB>Есть приложение на основе диалога. Хотелось бы начинать производить кое-какие манипуляции после того, как окно приложения уже появилось. Куда подцепить функцию? Вставка функции в обработчики WM_CREATE или WM_SHOWWINDOW нужного результата не дала.


Т.е. когда уже диалог уже отрисовался и всё такое?

CWinApp::OnIdle()

Это уж наверняка. OnIdle вызывается, когда очередь сообщений опустела.

Оригинально? Ну так и задачка у тебя не стандартная.
Думаю 99.9%, что если глубоко задуматься, то тебе вполне подойдёт OnInitDialog();

Если нет расскажи почему — интересно!
Re[2]: dialog based app
От: Ruslan Bondarev  
Дата: 30.04.02 12:48
Оценка:
Здравствуйте ng, Вы писали:

ng>Оригинально? Ну так и задачка у тебя не стандартная.

ng>Думаю 99.9%, что если глубоко задуматься, то тебе вполне подойдёт OnInitDialog();
ng>Если нет расскажи почему — интересно!

После того отрисовки окна начинается соединение с интернет и выкачивание данных оттуда.
Раньше появления диалога это начинаться не должно.
Re[3]: dialog based app
От: Шевченко Александр http://alexsoft.home.nov.ru
Дата: 01.05.02 13:54
Оценка:
RB>После того отрисовки окна начинается соединение с интернет и выкачивание данных оттуда.
RB>Раньше появления диалога это начинаться не должно.

А если запустить выкачивание в потоке(в конце OnInitDialog), а в начале потока подождать скажем 0,1 сек?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.