Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно закрыть messagebox? [D7, Win2k]


Ярослав ©   (2004-05-15 13:10:00) 

Подскажите пожалуйста!


Style   (2004-05-15 13:52:00) [1]


> Ярослав   (15.05.04 13:45) [7]


FindWindow

по заголовку MessageBox или
классу #32770.


nikkie   (2004-05-15 13:52:00) [2]

у Рихтера есть пример TimedMsgBox. сделано через FindWindow + EndDialog.

в MSDN описан вариант TimedMessageBox с использованием PostQuitMessage - имхо гораздо элегантнее. правда в одной специфической ситуации у меня с ней проблема возникала, я даже Рихтеру письмо написал :). только он не ответил :((

супер! яндекс и гугл при поиске TimedMessageBox первыми выдают мою страничку :)). а я уж было ее стер... по такому поводу восстанавливаю...
http://schachspieler.narod.ru/PQM_Problem.html


Ярослав   (2004-05-15 13:45:00) [3]

А какой Wnd у messagebox?

PostMessage( Wnd: HWnd;Msg, wParam: Word; lParam: Longint):
Wnd:Окно, котоpое будет пpинимать сообщение, или $FFFF для всех пеpекpываемых или всплывающих окон.


PostQuitMessage(ExitCode: Integer);
Напpавляет сообщение wm_Quit обычно в ответ на сообщение wm_Destroy.


Игорь Шевченко   (2004-05-15 13:34:00) [4]

nikkie ©   (15.05.04 13:20)

Вообще-то я притормозил, извиняюсь.

Другое дело, что окну MessageBox лучше, наверное, посылать WM_CLOSE или WM_COMMAND с ID=IDCANCEL, если в нем такая кнопка есть.

Хорошо сделано в WinXP и выше, где есть функция MessageBoxTimeout.


Ярослав   (2004-05-15 13:26:00) [5]

А если messagebox’ов создано много? Как их закрывать?


nikkie   (2004-05-15 13:20:00) [6]

да, сорри...


nikkie   (2004-05-15 13:20:00) [7]

хотя если из дугого процесса надо...


Игорь Шевченко   (2004-05-15 13:15:00) [8]

nikkie ©   (15.05.04 13:14)

PostQuitMessage ?


nikkie   (2004-05-15 13:14:00) [9]

PostMessage(WM_QUIT)


Наверх

Титульная страница Поиск, карта сайта Написать письмо