Шрифт в MessageBox
Как в окне System.Windows.Forms.MessageBox увеличить размер шрифта?
3 ответа
20 мая 2007 года
120 / / 10.04.2007
Некак!MessageBox не меняет шрифт.
Но можно создать 1 стринр(например ss), а в нём описать новый шрифт.
при помщи Drawing.FontFamily
а патом просто написать MessageBox.Show(ss);
P.S Не забут ещё добавить строку
ss=»текст который ты хочешь в MessageBox»;
21 мая 2007 года
360 / / 13.03.2006
Некак!MessageBox не меняет шрифт.
Но можно создать 1 стринр(например ss), а в нём описать новый шрифт.
при помщи Drawing.FontFamily
а патом просто написать MessageBox.Show(ss);
P.S Не забут ещё добавить строку
ss=»текст который ты хочешь в MessageBox»;
Улыбнуло 🙂 .
Шрифт в отдельно взятом окне, выводимом MessageBox поменять нельзя никак. Он задается в настройках системы глобально.
Создайте свой аналог MessageBox.
22 мая 2007 года
120 / / 10.04.2007
Улыбнуло 🙂 .
Шрифт в отдельно взятом окне, выводимом MessageBox поменять нельзя никак. Он задается в настройках системы глобально.
Создайте свой аналог MessageBox.
Как изменить размер messagebox c
Для сообщения юзеру о ошибке программы используется следующее:
MessageBox( strError, m_csSoftwareString, MB_ICONERROR | MB_SYSTEMMODAL );
где strError текст ошибки, m_csSoftwareString заголовок месседж-бокса, далее стиль.Но проблема в том, что m_csSoftwareString не вмещается в окошко — текст обрывается и стоят три точки (типа как к примеру вместо «Новое сообщение в форум MFC» показывается «Новое сообщение в ф. «).
Можно ли как-то подогнать размер месседж-бокса под размер кепшена?
Re: Можно ли изменить размер MessageBox?
| От: | GGoga |
| Дата: | 20.04.08 18:36 |
| Оценка: |
Здравствуйте, IRINIC, Вы писали:
IRI>Можно ли как-то подогнать размер месседж-бокса под размер кепшена?
— Можно реализовать свой собственный диалог для этих целей.
— Или можно найти окно этого MessageBox-а с помощью FindWindow и сделать ему MoveWindow с указанием нового размера.
А размер строки для caption можно посчитать с помощью функции GetTextExtentPoint32.
Re: Можно ли изменить размер MessageBox?
| От: | Hawk |
| Дата: | 21.04.08 11:52 |
| Оценка: |
RI>Можно ли как-то подогнать размер месседж-бокса под размер кепшена?
Стандартными средствами — нет. Можно поиграться с хуками, как описано здесь
Автор(ы): Paul Bludov
Дата: 29.05.2003
В статье рассматриваются способы расширения функциональности стандартных окон сообщений, а также создания нестандартных.
ИМХО, в заголовках вообще не должно быть длинных сообщений (кстати, не только в заголовках, длинные сообщения — это плохо в любом месте GUI). Оставьте пространные экзерсисы философам, писателям и т.п. Не отбирайте у них хлеб.
Если вставить длинную строку (например, имя файла и т.п.) все-таки жизненно необходимо, вставляйте ее в тело MessageBox’а, а не в заголовок.
Как изменить размер messagebox c
Как правило, для вывода сообщений применяется элемент MessageBox. Однако кроме сообственно вывода строки сообщения данный элемент может устанавливать ряд настроек, которые определяют его поведение.
Для вывода сообщения в классе MessageBox предусмотрен метод Show , который имеет различные версии и может принимать ряд параметров. Рассмотрим одну из наиболее используемых версий:
public static DialogResult Show( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options )
Здесь применяются следующие параметры:
text : текст сообщения
caption : текст заголовка окна сообщения
buttons : кнопки, используемые в окне сообщения. Принимает одно из значений перечисления MessageBoxButtons :
- AbortRetryIgnore : три кнопки Abort (Отмена), Retry (Повтор), Ignore (Пропустить)
- OK : одна кнопка OK
- OKCancel : две кнопки OK и Cancel (Отмена)
- RetryCancel : две кнопки Retry (Повтор) и Cancel (Отмена)
- YesNo : две кнопки Yes и No
- YesNoCancel : три кнопки Yes, No и Cancel (Отмена)
Таким образом, в зависимости от выбора окно сообщения может иметь от одной до трех кнопок.
icon : значок окна сообщения. Может принимать одно из следующих значений перечисления MessageBoxIcon :
- Asterisk, Information : значок, состоящий из буквы i в нижнем регистре, помещенной в кружок
- Error, Hand, Stop : значок, состоящий из белого знака «X» на круге красного цвета.
- Exclamation, Warning : значок, состоящий из восклицательного знака в желтом треугольнике
- Question : значок, состоящий из вопросительного знака на периметре круга
- None : значок у сообщения отсутствует
defaultButton : кнопка, на которую по умолчанию устанавливается фокус. Принимает одно из значений перечисления MessageBoxDefaultButton :
- Button1 : первая кнопка из тех, которые задаются перечислением MessageBoxButtons
- Button2 : вторая кнопка
- Button3 : третья кнопка
options : параметры окна сообщения. Принимает одно из значений перечисления MessageBoxOptions :
- DefaultDesktopOnly : окно сообщения отображается на активном рабочем столе.
- RightAlign : текст окна сообщения выравнивается по правому краю
- RtlReading : все элементы окна располагаются в обратном порядке справа налево
- ServiceNotification : окно сообщения отображается на активном рабочем столе, даже если в системе не зарегистрирован ни один пользователь
Нередко используется один параметр — текст сообщения. Но посмотрим, как использовать остальные параметры. Пусть у нас есть кнопка, в обработчике нажатия которой открывается следующее окно сообщения:
private void button1_Click(object sender, EventArgs e)

Однако нам не просто дается возможность установки кнопок в окне сообщения. Метод MessageBox.Show возвращает объект DialogResult , с помощью которого мы можем узнать, какую кнопку в окне сообщения нажал пользователь. DialogResult представляет перечисление, в котором определены следующие значения:
- Abort : нажата кнопка Abort
- Retry : нажата кнопка Retry
- Ignore : нажата кнопка Ignore
- OK : нажата кнопка OK
- Cancel : нажата кнопка Cancel
- None : отсутствие результата
- Yes : нажата кнопка Yes и No
- No : нажата кнопка No
Используем обработку выбора пользователя, изменив обработчик нажатия кнопки следующим образом:
private void button1_Click(object sender, EventArgs e)
И теперь, если в окне сообщения мы выберем выриант Yes, то кнопка окрасится в красный цвет.
Форум программистов «Весельчак У»
Программирование => WinAPI & Visual C++ => Тема начата: The Nameless One от 25-08-2009 07:43
MessageBox(hwnd, «Текст сообщения», «Заголовок», MB_OK);
Можно увеличить размер текста «Текст сообщения»?
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: Джон от 25-08-2009 08:01
Да, в настройках винды.
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: The Nameless One от 25-08-2009 08:05
Нет, только в единичном случае, остальные должны оставаться как были до этого.
Значит, нельзя.
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: Алексей++ от 25-08-2009 08:26
The Nameless One,
нужно сделать свой класс — сообщение с таким же поведением, но с надписью такой, как тебе надо
и, наверное, даже как-то можно подменить показ стандартного мессаджбокса на свой, только не скажу, как, не делал ни разу )
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: The Nameless One от 25-08-2009 08:29
Спасибо за подсказку)
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: Dimka от 25-08-2009 09:34
Слева и справа от текста добавить пробелов и переводов строк 🙂
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: The Nameless One от 25-08-2009 10:42
Это ничего не даёт.
MessageBox(NULL, » \n\n\nЭто тестовый текст\n\n\n «, «Caption», MB_OK);
(http://img221.imageshack.us/img221/7835/srt.png)
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: Алексей++ от 25-08-2009 11:05
The Nameless One, да Димка шутит ) Хотя, надо было написать \r\n а не просто \n — это лишь увеличит количество строк, а не сам текст
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: Джон от 25-08-2009 11:21
Ну. это увеличит размеры окна. Спрашивалось — текста.
The Nameless One, гораздо проще сделать свой диалог для таких случаев. На все случаи жизни. (каламбурю)
Название: Re: Увеличить размер текста в MessageBox()
Отправлено: The Nameless One от 25-08-2009 11:47