Функции GDI Win-32, страница 8

Чтобы помогать защищать авторские права продавцов, поставщики шрифтов для Windows олжны всегда сообщать о точном названии (имени) отобранного шрифта. Поскольку доступные шрифты могут изменяться от системы к системе, не думайте, что отобранный шрифт - всегда тот же самый требуемый шрифт. Например, если Вы запрашиваете шрифт по имени "Palatino", но никакой такой шрифт недоступен системе, отображаемый шрифт заменит шрифт, который имеет подобные признаки, но другое имя

Функция CreateFontIndirect создает логический шрифт, который определяет характеристики в указанной структуре. Шрифт может впоследствии быть отобран как текущий шрифт для любого контекста устройства.

HFONT CreateFontIndirect (

CONST LOGFONT *lplf         // адрес логической структуры шрифта 

);       

Параметры

Lplf

Указатель на структуру LOGFONT, которая определяет характеристики логического шрифта.

Возвращаемое значение

Если функция успешна, возвращаемое значение - обработка логического шрифта.

Если функция выполнена неуспешно, возвращаемое значение нулевое.

Замечания

Функция CreateFontIndirect создает логический шрифт с характеристиками, указанными в структуре LOGFONT. Когда этот шрифт отобран,  используя функцию SelectObject, отображаемый шрифт GDI'S пытается соответствовать логическому шрифту с существующим физическим шрифтом. Если он будет не в состоянии найти точное соответствие, найдет замену, чьи характеристики будут соответствовать насколько возможно.

Когда Вы больше не нуждаетесь в шрифте, вызовите функцию DeleteObject, чтобы удалить его.

Функция CreatePalette создает логическую цветную палитру.

HPALETTE CreatePalette (

CONST LOGPALETTE *lplgpl            // адрес логической цветной палитры

);       

Параметры

Lplgpl

Указатель на структуру LOGPALETTE, которая содержит информацию относительно цветов в логической палитре.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение – обработка опознающая логическую палитру.

Если функция выполнена неуспешно, возвращаемое значение нулевое. Чтобы получить полную  информацию об ошибке, вызовите GetLastError.

Замечания

Приложение вызывая функцию GetDeviceCaps и определяя RASTERCAPS постоянным может определять, поддерживает ли устройство действия палитры.

Как только приложение создает логическую палитру, можно выбирать эту палитру в контекст устройства,  вызывая функцию SelectPalette. Палитра, отобранная в контекст устройства может быть отображена при  вызове функции RealizePalette.

Когда Вы больше не нуждаетесь в палитре, вызовите функцию DeleteObject, чтобы удалить ее.

Функция CreatePen создает логическую ручку, которая имеет указанный стиль, ширину, и цвет. Ручка может впоследствии быть отобрана в контекст устройства и использоваться, чтобы рисовать линии и кривые.

HPEN CreatePen (

Int fnPenStyle,           // стиль ручки

Int nWidth,     // ширина ручки 

COLORREF crColor  // цвет ручки

);       

Параметры

FnPenStyle

Определяет стиль ручки. Это может быть любое из следующих значений:

Стиль  Описание

PS_SOLID         Сплошная линия.

PS_DOT            Пунктирная линия. Этот стиль имеет силу только тогда, когда ширина ручки меньше или одна единица устройства.

PS_DASHDOT  Линия содержит чередующиеся черточки и точки. Этот стиль имеет силу только тогда, когда ширина ручки меньше или одна единица устройства.

PS_DASHDOTDOT       Линия содержит чередующиеся черты и двойные точки. Этот стиль имеет силу только тогда, когда ширина ручки меньше или одна единица устройства..

PS_NULL          Линия невидима.

PS_INSIDEFRAME        Сплошная линия. Когда эта линия используется в любом графическом интерфейсе устройства (GDI) рисующем функцию, которая ограничена прямоугольником, измерения фигуры сокращены так, чтобы они полностью удовлетворяли ограничениям. Это относится только к карандашу.

NWidth