Структура LOGBRUSH определяет стиль, цвет и узор физической кисти. Она используется функциями CreateBrushIndirect и ExtCreatePen.
Синтаксис
typedef struct tagLOGBRUSH { UINT lbStyle; COLORREF lbColor; LONG lbHatch; } LOGBRUSH, *PLOGBRUSH; |
lbStyle
Устанавливает стиль кисти. Член структуры lbStyle должен иметь одни из ниже перечисленных стилей.
Значение | Предназначение |
---|---|
BS_DIBPATTERN | Узорная кисть,
определяется спецификацией не
зависящего от устройства точечного
рисунка DIB. Если lbStyle - BS_DIBPATTERN, член
структуры lbHatch содержит дескриптор
сжатого растрового формата DIB. Для
получения дополнительной информации,
см. обсуждение члена структуры lbHatch.
Windows 95: Создание кистей из точечных рисунков или растровых форматов DIB больших чем 8 на 8 пикселей не поддерживается. Если определен больший точечный рисунок, используется только часть его. |
BS_DIBPATTERN8X8 | Тоже самое, что и BS_DIBPATTERN. |
BS_DIBPATTERNPT | Узорная кисть, определяется спецификацией не зависящего от устройства точечного рисунка DIB. Если lbStyle - BS_DIBPATTERNPT, член структуры lbHatch содержит указатель на сжатый растровый формат DIB. Для получения дополнительной информации, см. обсуждение член структуры lbHatch. |
BS_HATCHED | Штриховая кисть. |
BS_HOLLOW | Пустая кисть. |
BS_NULL | Тоже самое, что и BS_HOLLOW. |
BS_PATTERN | Узорная кисть, определенная точечным рисунком в памяти. |
BS_PATTERN8X8 | Тоже самое, что и BS_PATTERN. |
BS_SOLID | Сплошная кисть. |
Задает цвет, которым кисть должна рисовать. Если lbStyle имеет стиль BS_HOLLOW или BS_PATTERN, lbColor игнорируется.
Если lbStyle - BS_DIBPATTERN или BS_DIBPATTERNPT, младшее слово lbColor устанавливает, содержат ли члены bmiColors структуры BITMAPINFO значения чистого красного, зеленого, синего (RGB) цвета или индексы в текущей реализованной логической палитре. Член структуры lbColor должен быть одним из ниже перечисленных значений.
Значение | Предназначение |
---|---|
DIB_PAL_COLORS | Таблица цветов состоит из массива 16-разрядных индексов в текущей реализованной логической палитре. |
DIB_RGB_COLORS | Таблица цветов содержит точные RGB - значения. |
Если lbStyle - BS_HATCHED или BS_SOLID, lbColor - код цвета COLORREF. Чтобы создать код цвета COLORREF, используйте макрос RGB.
lbHatch
Устанавливает стиль штриха. Значение зависит от стиля кисти, определенного в lbStyle.
Если в lbStyle установлен BS_DIBPATTERN, член структуры lbHatch содержит дескриптор сжатого растрового формата DIB. Чтобы получить этот дескриптор, приложение вызывает функцию GlobalAlloc с флажком GMEM_MOVEABLE (или LocalAlloc с LMEM_MOVEABLE), чтобы назначить блок памяти, а затем заполняет память сжатым растровым форматом DIB. Сжатый формат DIB состоит из структуры BITMAPINFO, непосредственно сопровождаемой массивом байтов, которые определяют пиксели точечного рисунка.
Если в lbStyle установлен BS_DIBPATTERNPT, член структуры lbHatch содержит указатель на сжатый растровый формат DIB. Указатель извлекается из блока памяти, созданного функцией LocalAlloc с установкой флажка LMEM_FIXED или GlobalAlloc с установкой флажка GMEM_FIXED, или этот указатель возвращается вызовом такой функции как LocalLock (дескриптор_dib). Сжатый растровый формат DIB состоит из структуры BITMAPINFO, непосредственно сопровождаемой массивом байтов, которые определяют пиксели точечного рисунка.
Если lbStyle - BS_HATCHED, член структуры lbHatch устанавливает ориентацию линий, используемых, чтобы создать штриховку. Он может быть одним из ниже перечисленных значений.
Значение | Предназначение |
---|---|
HS_BDIAGONAL | Штрих восходящий слева на право под 45 градусов |
HS_CROSS | Горизонтальный и вертикальный перекрестный штрих |
HS_DIAGCROSS | Перекрестный штрих под 45 градусов |
HS_FDIAGONAL | Штрих нисходящий слева на право под 45 градусов |
HS_HORIZONTAL | Горизонтальный штрих |
HS_VERTICAL | Вертикальный штрих |
Если в lbStyle установлен BS_PATTERN, lbHatch - дескриптор точечного рисунка, который определяет узор. Точечным рисунком не может быть точечный рисунок секции DIB, который создается функцией CreateDIBSection.
Если в lbStyle установлен BS_SOLID или BS_HOLLOW, lbHatch игнорируется.
Замечания
Несмотря на то, что lbColor управляет цветом изображения штриховой кисти, функции SetBkMode и SetBkColor управляют цветом фона.
Windows 95: Создание кистей из точечных рисунков или растровых форматов DIB больших, чем 8 на 8 пикселей, не поддерживается. Если определен больший точечный рисунок, используется только часть точечного рисунка.
Windows 98/Me, Windows NT/2000/XP: Кисти могут создаваться из точечных рисунков или растровых форматов DIB большими, чем 8 на 8 пикселей.
Смотри также
Обзор Кисти, Структуры, используемые кистями, BITMAPINFO, CreateBrushIndirect, CreateDIBSection, ExtCreatePen, LOGBRUSH32, SetBkColor, SetBkMode, COLORREF, RGB
Размещение и совместимость LOGBRUSH |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
- |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |