| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Реакция на нажатие mbOk CreateMessageDialog |
| Автор: Arex 24.3.2010, 00:46 | ||
| Добрый день. Требуется помощь. В сети существует много примеров с использованием CreateMessageDialog. Однако, везде используется Showmodal. Т.е. программа ожидает реакции пользователя. Задача состоит в том, чтобы вывести сообщение и продолжить работу ( используя Show а не Showmodal ), а при нажатии пользователем кнопки Ok в окне сообщения ( возможно нажатие произойдет через продолжительное время ), произвести действие. Собственно, вопрос как отследить нажатие mbOk на форме ? Типичный пример, ожидания реакции пользователя:
|
| Автор: former 24.3.2010, 08:54 | ||||
Эта строка
противоречит этой (ОК и YES NO)
Окно диалога возвращает "модальный" результат. Выход - создай свой диалог и управляй им как хочешь. |
| Автор: Grag 24.3.2010, 09:17 |
| Сделай как посоветовал Former, сделай свою форму диалога, выведи ее на экран, только не забудь разместить ее поверх всех окон, а то может затеряться.... А нужные действия выполняй в обработчике кнопки "Ok" этой формы... |
| Автор: Arex 24.3.2010, 11:01 | ||||
Противоречит ? В чем именно ? Вот пример, многократно тиражированный в сети. Взят отсюда: http://www.delphisources.ru/pages/faq/base/add_component_to_message_dialog.html
Так вот, если использовать Show ( без оператора case ) вместо Showmodal, то ответ от пользователя мы не ждем, а идем дальше как и требуется. Вопрос в том как отследить последующее нажатие на кнопку Ok на форме ? Форма есть, кнопка есть, а отследить невозможно ? |
| Автор: Arex 24.3.2010, 13:28 | ||||||
Согласен на 100% - недоглядел. Но по большому счету, это отношения к делу не имеет. Я вот о чем говорю , в случае если мы указывает в коде
до действий мы не доходим пока пользователь не отмерзнет и не нажмет что нибудь а в случае
мы переходим к действиям, как и нужно, НО если пользователь отмерзнет только через полчаса и нажмет таки кнопку Ok ( или Yes , это не важно ) на форме, то как выполнить какие-либо действия. Вот в чем вопрос. Если возможно, приведите код как именно отследить нажатие на кнопку на появившейся после Show форме, а как ее назвать - Ok или Yes это дело десятое. Спасибо. |
| Автор: former 24.3.2010, 13:49 |
| Держи пример (D 2009) |