Форум: "WinAPI";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизКак программно закрыть messagebox? Найти похожие ветки
← →
Ярослав (2004-05-15 13:10) [0]Подскажите пожалуйста!
← →
nikkie © (2004-05-15 13:14) [1]PostMessage(WM_QUIT)
← →
Игорь Шевченко © (2004-05-15 13:15) [2]nikkie © (15.05.04 13:14)
PostQuitMessage ?
← →
nikkie © (2004-05-15 13:20) [3]да, сорри...
← →
nikkie © (2004-05-15 13:20) [4]хотя если из дугого процесса надо...
← →
Ярослав (2004-05-15 13:26) [5]А если messagebox’ов создано много? Как их закрывать?
← →
Игорь Шевченко © (2004-05-15 13:34) [6]nikkie © (15.05.04 13:20)
Вообще-то я притормозил, извиняюсь.
Другое дело, что окну MessageBox лучше, наверное, посылать WM_CLOSE или WM_COMMAND с ID=IDCANCEL, если в нем такая кнопка есть.
Хорошо сделано в WinXP и выше, где есть функция MessageBoxTimeout.
← →
Ярослав (2004-05-15 13:45) [7]А какой Wnd у messagebox?
PostMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint):
Wnd: Окно, котоpое будет пpинимать сообщение, или $FFFF для всех пеpекpываемых или всплывающих окон.
PostQuitMessage(ExitCode: Integer);
Напpавляет сообщение wm_Quit обычно в ответ на сообщение wm_Destroy.
← →
Style © (2004-05-15 13:52) [8]
> Ярослав (15.05.04 13:45) [7]
FindWindow
по заголовку MessageBox или
классу #32770.
← →
nikkie © (2004-05-15 13:52) [9]у Рихтера есть пример TimedMsgBox. сделано через FindWindow + EndDialog.
в MSDN описан вариант TimedMessageBox с использованием PostQuitMessage - имхо гораздо элегантнее. правда в одной специфической ситуации у меня с ней проблема возникала, я даже Рихтеру письмо написал :). только он не ответил :((
супер! яндекс и гугл при поиске TimedMessageBox первыми выдают мою страничку :)). а я уж было ее стер... по такому поводу восстанавливаю...
http://schachspieler.narod.ru/PQM_Problem.html
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c