![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убрать фокус ввода с MessageBox [D7, WinXP]
deamon_t © (2005-08-03 22:32:00)Привет всем, есть MessageBox выводящийся паралельно с запуском программы в другом потоке, через 3 секунды он сам закрываеться если его не успели закрыть, при запуске если смотреть на шапки окон мессаджбокса и основной программы они обое активны, но после закрытия мессаджбокса программа уходит на задний план. Каким образом можно передать фокус окну программы не зная её хендла, т.е. мне наверное надо деактивировать мессаджбокс. Но почемуто нижеследующий код не срабатывает:
MessageBox(0,PChar(xxx),'Information',MB_OK or MB_SYSTEMMODAL or MB_ICONINFORMATION);
SendMessage(0,WM_KILLFOCUS,0,0);
Заранее спасибо за ответы
Leonid Troyanovsky (2005-08-03 23:26:00) [1]
> deamon_t (03.08.05 22:32)
> но после закрытия мессаджбокса программа уходит на задний
> план. Каким образом можно передать фокус окну программы
> не зная её хендла, т.е. мне наверное надо деактивировать
Возможные варианты:
1. Выбросить поток нах.
2. Выбросить MessageBox нах.
3. Выбросить обое нах.
> SendMessage(0,WM_KILLFOCUS,0,0);
Ну, и почитать хелп.
Оттуда можно даже почерпнуть как узнать хендл окна программы.
--
Regards, LVT.