|
|
Ответов: 0
|
25-02-12 07:01
|
|
|
|
Ответов: 0
|
16-01-12 20:13
|
|
|
|
Ответов: 1
|
09-01-12 11:23
|
|
   Web - программирование
|
|
|
   Программирование под ОС
|
|
|
   Web - технологии
|
|
|
   Базы Данных
|
|
|
|
Возможно вас заинтересует
|
|
Работа со шрифтами на Win API

Сегодня поговорим о шрифтах, и о том, каким образом работать с ними на Win API.
Нам потребуется переменная типа HFONT. Изменить стиль шрифта можно у любого
компонента, я покажу это на примере кнопки.
var
Font: HFONT;
Btn: HWND;
|
Для создания нового экземпляра шрифта используется функция CreateFont, которая,
в случае успешного завершения, возвращает Handle нового шрифта. Рассмотрим
параметры этой функции.
procedure CreateFont(
nHeight: integer, // логическая высота шрифта
nWidth: integer, // логическая ширина символа
nEscapement: integer, // угол наклона
nOrientation: integer, // базовый угол ориентации
fnWeight: integer, // вес шрифта (можно считать как толщину символа)
fdwItalic: Cardinal, // будет ли шрифт курсивным
fdwUnderline: Cardinal, // будет ли шрифт подчеркнутым
fdwStrikeOut: Cardinal, // будет ли шрифт зачеркнутым
fdwCharSet: Cardinal, // идентификатор набора символов
fdwOutputPrecision: Cardinal, // точность вывода
fdwClipPrecision: Cardinal, // точность отсечения
fdwQuality: Cardinal, // качество вывода
fdwPitchAndFamily: Cardinal, // шаг и семейство шрифта
lpszFace: PChar // Название шрифта
): HFONT;
|
Подробную информацию по каждому параметру можно прочитать в справке, я обращу
ваше внимание лишь на некоторые из них. Отрицательное значение первого параметра
говорит о том, что будет выбрано абсолютное значение высоты шрифта. Третий
параметр отвечает за угол поворота шрифта относительно оси X. Угол задается в
десятых долях градуса, то есть, чтобы повернуть текст на угол на 90°, нужно
задать значение, равное 900. Для последних параметров можно использовать значение по
умолчанию. Но если мы собираемся повернуть текст на какой-либо угол, то параметр
fdwQuality лучше задать как ANTIALIASED_QUALITY, в этом случае текст будет
сглажен. Посмотрим, как это реализуется.
Font := CreateFont( -30, 15, 25, 10, 1000, 1, 1, 0,
DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY,
DEFAULT_PITCH or FF_DONTCARE, 'Courier New' );
|
Чтобы назначить компоненту новый шрифт, ему нужно послать сообщение WM_SETFONT,
где в качестве параметра wParam, нужно указать значение, возвращенное функцией
CreateFont.
Btn := CreateWindowEx( 0, 'Button', 'Наш новый шрифт', WS_CHILD or WS_VISIBLE,
10, 10, 280, 60, Wnd, 0, hInstance, nil );
SendMessage( Btn, WM_SETFONT, Font, 0 );
|
На сегодня это все. Успехов в программировании.
|
|
BSol
|
22-06-2010
|
Желательно к каждой статье рабочий исходник. Вторая статья а рабочего модуля получить не получается...
|
|
Сегодня поговорим о шрифтах, и о том, каким образом работать с ними на Win API. Нам потребуется переменная типа HFONT. Изменить стиль шрифта можно у любого компонента, я покажу это на примере кнопки... подробнее
|
Кол. просмотров: общее - 5002 сегодня - 0
|
|
Таймер - вещь в хозяйстве очень полезная. Если некое действие нужно повторять с определенной периодичностью, то таймер, это как раз то, что нужно... подробнее
|
Кол. просмотров: общее - 5024 сегодня - 0
|
|
Мы уже знакомы с системным таймером, сегодня познакомимся с мультимедийным, основное отличие которого, более высокая скорость (точность) работы... подробнее
|
Кол. просмотров: общее - 5171 сегодня - 1
|
|
Сегодня наша программа научится работать с CheckBoxами. CheckBox можно представить как флаг, который можно установить или сбросить, и в зависимости от его состояния выполнять определенные действия... подробнее
|
Кол. просмотров: общее - 5398 сегодня - 0
|
|
В прошлый раз мы сделали несколько радио-кнопок, которые автоматически объединялись в одну группу. Сейчас рассмотрим, как создавать несколько независимых групп радио-кнопок... подробнее
|
Кол. просмотров: общее - 5043 сегодня - 0
|
|
|
|