Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Диалоги   Найти похожие ветки 

 
Андрей Молчанов   (2005-08-13 21:04) [0]

Здравствуйте!

Подскажите, пожалуйста, какими диалоговыми окнами надо пользоваться для вывода текстовых сообщений. Сейчас использую MessageBox(Handle, PChar(MyMessage), PChar(Application.Title), MB_OK + MB_ICONWARNING);
но у этого способа есть 2 недостатка:
1. Если вызвать диалог с 2 кнопками, одна из которых Отмена, то при нажатии Esc диалог не закрывается. Но это постольку постольку.
2. Если во время отображения диалога вызвать Application.terminate, нажимается кнопка по умолчанию. Для меня это серьезная проблема. Может есть диалоги без второго, а лучше обоих недостатков.


 
Anatoly Podgoretsky ©   (2005-08-13 21:20) [1]

Правильный диалог используешь, только их два один WinApi, а второй обертка над ним от Борланда, просто меньше параметров надо указывать.


 
tazik ©   (2005-08-13 22:19) [2]

ShowMessage("Ваше сообщение");

не пробовали?


 
Андрей Молчанов   (2005-08-13 23:21) [3]


> tazik ©

Этот не позволяет указать иконку, заголовок, несколько кнопок в программе.


> Anatoly Podgoretsky ©

А что надо написать, что бы использовался правильный? Или в нем тоже будет вторая проблема?
Просто у меня в трее висит иконка, в ее контекстном меню пункт Выход, по которому вызывается Application.Terminate. А если выбрать этот пункт, когда программа спрашивает пользователя "Удалить объект?", то в диалоге "нажмется" кнопка по умолчанию - "да". Что не очень хорошо.


 
KilkennyCat ©   (2005-08-13 23:22) [4]


> ShowMessage("Ваше сообщение");


это какой-то принудительный диалог будет :)


 
Admeral ©   (2005-08-14 00:22) [5]

ShowMessage("Ваше сообщение"); Служит для оповещения пользователя, а не ведения с ним переговоров.


 
Marser ©   (2005-08-14 01:48) [6]

Application.MessageBox
MessageDlg


 
Андрей Молчанов   (2005-08-14 09:32) [7]

MessageDlg в принципе решает проблему, но у MessageBox можно указывать заголовок и все подписи у него на родном языке ОС.

А можно ли узнать, что было вызвано Application.Terminate? Какое-нибудь свойство вроде Application.Terminated?


 
Antonn ©   (2005-08-14 12:13) [8]

KilkennyCat ©   (13.08.05 23:22) [4]
это какой-то принудительный диалог будет :)

это приговор:)


 
Андрей Молчанов   (2005-08-14 13:01) [9]

А все таки, как сделать, чтобы Application.Terminated отображал действительное состояние?


 
Marser ©   (2005-08-14 13:44) [10]


>Андрей Молчанов   (14.08.05 13:01) [9][Ответить]
> А все таки, как сделать, чтобы Application.Terminated
> отображал действительное состояние?

Вопрос не понял. Application.Terminated определяет состояние завершения работы и является сигналом для выхода из всех рабочих циклов. Что ещё?


 
Андрей Молчанов   (2005-08-14 15:41) [11]

Если вызвать Application.Terminate, а то Application.Terminated не станет равняться True. Что я делаю не так?


 
alex_***   (2005-08-15 13:32) [12]

кнопку по умолчанию можно назначить. чтобы работал ESC надо всунуть кнопку CANCEL. а как во время отображения диалога можно вызвать Terminate? асинхронно по сообщению?


 
Leonid Troyanovsky ©   (2005-08-15 14:06) [13]


> Андрей Молчанов   (13.08.05 21:04)  

> 2. Если во время отображения диалога вызвать Application.terminate,
> нажимается кнопка по умолчанию. Для меня это серьезная проблема.


Для устранения проблемы достаточно эмулировать нажатие
требуемой кнопки instead Application.terminate call.

--
Regards, LVT.


 
Андрей Молчанов   (2005-08-15 19:19) [14]

Все, спасибо, разобрался.
Если вызвать Application.processmessages, то application.terminated укажет правильное значение. Делаю так: сохраняю результат диалога в переменную, если приложение готовится к закрытию, то присваивую переменной значение mrNo.  Дальше обрабатываю. Спасибо всем, кто ответил!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.055 c
14-1125475345
ПЛОВ
2005-08-31 12:02
2005.09.25
Поможите, что значит " /= " в Си


14-1125437940
KilkennyCat
2005-08-31 01:39
2005.09.25
31 августа. С Днем Рождения!


9-1117104669
Buffer
2005-05-26 14:51
2005.09.25
DX VertexBuffer


1-1125436052
SergProger
2005-08-31 01:07
2005.09.25
Перетаскивание формы


9-1110990439
Fosgen
2005-03-16 19:27
2005.09.25
Проблема при переносе проги из оконного в полный экран в GLScene





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский