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

Функция CreateBrushIndirect создает логическую щетку (logical brush), которая имеет указанный стиль, цвет, и шаблон.

HBRUSH CreateBrushIndirect (

CONST LOGBRUSH * lplb     // адрес структуры, описывающей щетку

);       

Параметры

Lplb

Указатель на структуру LOGBRUSH, которая содержит информацию относительно щетки.

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

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

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

Замечания

Щетка - побитовые отображения, которые Windows использует, чтобы закрашивать поля заполненных форм.

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

Если член lbStyle структуры LOGBRUSH, указанной lplb - BS_PATTERN, побитовое отображение, указанное членом lbHatch той структуры не может быть DIB секцией. DIB секция - побитовое отображение, созданный CreateDibSection. Если это побитовое отображение является DIB секцией, функция CreateBrushIndirect будет терпеть неудачу.

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

Функция CreateDIBPatternBrush создает логическую щетку (logical brush), которая имеет шаблон, указанный указанным аппаратно-независимым побитовым отображением (DIB). Щетка может впоследствии быть вызвана из любого контекста устройства, который связан с устройством, которое поддерживает растровые изображения.

HBRUSH CreateDIBPatternBrush (

HGLOBAL hglbDIBPacked,    // обработка побитового отображения

UINT fuColorSpec                   // таблица данных окраски

);       

Параметры

HglbDIBPacked

Опознает глобальный объект памяти, содержащий DIB, который состоит из структуры BITMAPINFO, сопровождаемой адресом, определяющим в пикселах побитовое отображение.

FuColorSpec

Определяет,является ли член bmiColors структуры BITMAPINFO инициализированной  и, если так, содержит ли этот член явные красные, зеленые, синие значения (RGB) или индексы в логической палитре. Параметр FuColorSpec должен быть одним из следующих значений:

Значение          Значение

DIB_PAL_COLORS        Таблица цветов поддерживается и состоит из 16-битного адреса в логической палитре контекста устройства, в который щетка должна быть отобрана.

DIB_RGB_COLORS       Таблица цветов обеспечивается и содержит литерал RGB.

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

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

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

Замечания

Когда выбирается двухцветный  шаблон DIB щетки в одноцветный контекст устройства, Windows не подтверждает цвета, указанные в DIB; вместо этого, показывает шаблон щетки, используя текущий фон и цвета переднего плана контекста устройства.  Отображение пикселов к первому цвету DIB (послать 0 в таблицу цветов DIB) показаны, используя цвет переднего плана; отображение пикселов к второму цвету (послать1 в таблицу цветов DIB ) показаны, используя цвет фона.

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

Функция CreateDIBPatternBrushPt создает логическую щетку, которая имеет шаблон, указанный аппаратно-независимым побитовым отображением (DIB).

HBRUSH CreateDIBPatternBrushPt (

CONST VOID   * lpPackedDIB,          // адрес структуры и побитовое отображение битов 

UINT iUsage                                                 // флаги использования

);       

Параметры

LpPackedDIB

Указатель на DIB, состоящий из структуры BITMAPINFO, сопровождаемой адресом, определяющая в пикселах побитовое отображение.

IUsage

Определяет, содержит ли член bmiColors структуры BITMAPINFO  таблицу цветов и, если так, входят ли в  таблицу цветов явные красные, зеленые, синие значения (RGB) или индексы палитры. Параметром IUsage должно быть одно из следующих значений:

Значение          Значение