Консультация № 39779
09.04.2006, 09:08
0.00 руб.
0 6 6
Здравствуйте! Подскажите, пожалуйста, как задать нужный заголовок к сообщение ShowMessage()? Заранее спасибо!

Обсуждение

Неизвестный
09.04.2006, 09:15
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
Через ShowMessage - никак, а вот через MessageBox - запросто:
<p align=‘left‘ style=‘color: #0066CC; border: #909090 1px dotted; background-color: #FAFCFE; padding:5px; border-left: #06600 3px solid; width: 97%; white-space:pre;‘>Application.MessageBox(<font color=#CC3399>‘Hello!‘</font>,<font color=#CC3399>‘Title‘</font>);</p>
Неизвестный
09.04.2006, 09:16
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!

Воспользуйтесь методом объекта TApplication:

<b>Application.MessageBox(‘Здесь текст сообщения‘, ‘Здесь заголовок сообщения‘, MB_OK);</b>

Успехов!
Неизвестный
09.04.2006, 12:46
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
Изменить заголовок диалога, вызванного с помощью ShowMessage можно, но Вам придется искать его хэндл и с помощью функции SetWindowText менять заголовок.
Проще и эффективнее использовать функцию:
int MessageBox(
HWND hWnd, // хэндл родительского окна
PChar lpText, // текст сообщения
PChar lpCaption, // текст заголовка
Cardinal uType /* стиль окна сообщения, задается определенными константами с префиксом MB_ */
);
Пример приведен в приложении.
Удачи!

Приложение:
...MessageBox(Form1.Handle,‘Здесь текст сообщения‘,‘Заголовок‘,MB_YESNO);...
Неизвестный
09.04.2006, 15:31
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
ShowMessage отображает простое окно сообщения с кнопкой OK. Текст сообщения задается параметром Msg. Заголовок окна совпадает с именем выполняемого файла приложения.
Имеется также похожая процедура ShowMessageFmt, позволяющая выводить форматированное сообщение.
При необходимости анализировать ответ пользователя на сообщение пользуйтесь функцией Delphi MessageDlg.
Удачи! :-)
Неизвестный
09.04.2006, 16:03
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
Showmessage ты будешь юзать, когда тебе надо, например, какую-нибудь debug инфу из программы выцепить. А пользователю это не пойдет - коряво как-то. Предлагаю использовать MessageBox:
MessageBox(form1.Handle, ‘Текст сообщения‘, ‘Заголовок‘, MB_ICONWARNING OR MB_YESNOCANCEL);
Другие типы иконок в сообщении:
MB_ICONWARNING;
MB_ICONERROR;
MB_ICONINFORMATION;
Виды кнопок:
MB_OK;
MB_OKCANCEL;
MB_ABORTRETRYIGNORE;
MB_YESNOCANCEL;
MB_YESNO;
MB_RETRYCANCEL;
Неизвестный
10.04.2006, 17:10
общий
это ответ
Здравствуйте, Андрющенко Вячеслав Васильевич!
К вышеперечисленному добавлю, что заголовок для окна ShowMessage берется такой же как и название приложение.
Поэтому если уж очень сильно хочется делайте так:
Application.Title:=‘Мой новый заголовок‘;
перед каждым вызовом ShowMessage.
Я бы использовал Application.MessageBox. Так он позволяет делать всё что угодно.
К тому же с ShowMessage у меня были проблемы (не выходило на передний план), если вызывалось из дочернего окна MDI приложения при открытых других дочерних окнах. А
Application.MessageBox в любом случае на передний план вылезет :-)
Форма ответа