Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
61 Выбор семейств шрифтов.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
35.3 Кб
Скачать

61 Выбор семейств шрифтов. Рамка окна. Заголовок окна. Кнопка оконного меню. Оконное меню. Кнопка свертывания окна. Кнопка развертывания окна.

Системные шрифты

Операционная система имеет набор встроенных шрифтов, которые может исполь-

зовать прикладная программа, выбрав их при помощи функции GetStockObject().

Для тестирования стандартных шрифтов добавим, например, такую строку в сооб-

щение WM_PAINT:

SelectObject(hdc, GetStockObject(ANSI_VAR_FONT));

Вывод текста теперь будет осуществляться другим шрифтом.

Освобождать ресурсы, занятые встроенными шрифтами, не нужно.

Определение произвольных шрифтов

Кроме встроенных шрифтов, в программе может использоваться любой шрифт,

зарегистрированный в системе. Для того чтобы программа могла осуществлять вы-

вод выбранным шрифтом, его необходимо создать функцией CreateFont() или

CreateFontIndirect():

Рамка окна

Win32 API предоставляет нижеследующие стили рамки окна.

  • WS_BORDER - Создает окно с рамкой из тонких линий.

  • WS_DLGFRAME - Создает окно с двойной рамкой, стиль обычно используемый диалоговыми окнами. Окно с этим стилем не может иметь строку заголовка.

  • WS_EX_DLGMODALFRAME - Создает окно с двойной рамкой. В отличие от WS_DLGFRAME стиля, прикладная программа может также определить WS_CAPTION стиль, чтобы создать строку заголовка для окна.

  • WS_EX_STATICEDGE - Создает окно с трехмерным стилем рамки, предназначаемым для использования элементов, в которые нет доступа для вводимой информации пользователем.

  • WS_THICKFRAME - Создает окно с изменяемыми размерами рамки.

Окно со стилем WS_OVERLAPPED или WS_POPUPWINDOW имеет по умолчанию стиль WS_BORDER. Один из оставшихся стилей рамки должен быть объединен со стилем WS_OVERLAPPED или WS_POPUPWINDOW, чтобы дать перекрывающему окну различные стили рамки.

Если для окна со стилем WS_POPUP или WS_CHILD стиль рамки не определен, система создает окно без рамки. Прикладная программа может использовать дочерние окна без рамок, чтобы разделить рабочую область родительского окна для сохранения разделов, невидимых для пользователя. 

Заголовок окна

Окно приложения может содержать строку заголовка title bar

Имя окна

Окно может иметь имя. Имя окна (window name) (называемое также оконный текст (window text)) - это текстовая строка, которая идентифицирует окно для пользователя. Главное окно, диалоговое окно или окно сообщения, если представлено, обычно показывает свое имя окна в своей строке заголовка. Для элемента управления внешний вид имени окна зависит от класса элементов управления. Кнопка, поле редактирования или статический элемент управления отображают свое оконное имя внутри прямоугольника, который занимает элемент управлением. Окно со списком, комбинированное окно или статический элемент управления не показывают имя своего окна.

Программа использует функцию SetWindowText, чтобы изменить имя окна после того, как окно создано. Она использует функции GetWindowTextLength и GetWindowText, чтобы сделать выборку текущего текста имени окна.

КНОПКА

Следующие предопределенные классы элементов управления могут быть определены в параметре lpClassName:

BUTTON (КНОПКА) Обозначает маленькое прямоугольное дочернее окно, которое представляет собой кнопку и пользователь может щелкать по ней мышью, чтобы включить или отключить ее. Кнопки управления могут использоваться самостоятельно или в группах, и они могут или быть подписаны или появляться без текста. Кнопки управления обычно изменяют свой вид, когда пользователь щелкает мышью по ним.

Когда Вы щелкаете мышью по кнопке развертывания или свертывания окна, она воздействует на размер и позицию окна. Когда пользователь щелкает мышью по кнопке развертывания (maximize button) окна, Windows увеличивает окно до размеров экрана и располагает окно так, что оно закрывает весь рабочий стол, минус панель задач. В то же самое время,Windows заменяет кнопку развертывания окна на кнопку восстановления прежнего размера. Кнопка восстановления (restore button)- точечный рисунок, по которому когда щелкнешь мышью, восстанавливает окно в его предыдущем размере и позиции.

Когда пользователь щелкает мышью по кнопке свертывания (minimize button) окна, Windows уменьшает окно до размера кнопки его панели задач, помещает окно над кнопкой панели задач и отображает на экране кнопку панели задач в ее нормальном состоянии. Чтобы восстановить прикладную программу в её предыдущем размере и позиции, щелкните мышью по её кнопке на панели задач.

Также можно создать окна со стилем,опредлённым в параметре  dwStyle (dwStyle определяет стиль создаваемого окна. Этот параметр может быть комбинацией стилей окна и стилей панелей управления)

1)WS_MAXIMIZEBOX - Создает окно, которое имеет кнопку Развернуть (Maximize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.

2)WS_MINIMIZEBOX - Создает окно, которое имеет кнопку Свернуть (Minimize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.