Как изменить размер messagebox c
Перейти к содержимому

Как изменить размер messagebox c

  • автор:

Шрифт в 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 в Windows Forms

Однако нам не просто дается возможность установки кнопок в окне сообщения. Метод 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *