windows_programming_notes.nbk: Home | Index | Next Page: LPNMLVDISPINFO | Previous Page: LockResource
LOGBRUSH
The LOGBRUSH structure defines the style, color, and pattern of a physical brush. It is used by the CreateBrushIndirect and ExtCreatePen functions.
typedef struct tagLOGBRUSH {
UINT lbStyle;
COLORREF lbColor;
LONG lbHatch;
} LOGBRUSH, *PLOGBRUSH;
Members
- lbStyle
Specifies the brush style. The lbStyle member must be one of the
following styles. Value Meaning
BS_DIBPATTERN A pattern brush defined by a device-independent bitmap (DIB) specification. If lbStyle is BS_DIBPATTERN, the lbHatch member contains a handle to a packed DIB. For more information, see discussion in lbHatch.
Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.
BS_DIBPATTERN8X8 Same as BS_DIBPATTERN.
BS_DIBPATTERNPT A pattern brush defined by a device-independent bitmap (DIB) specification. If lbStyle is BS_DIBPATTERNPT, the lbHatch member contains a pointer to a packed DIB. For more information, see discussion in lbHatch.
BS_HATCHED Hatched brush.
BS_HOLLOW Hollow brush.
BS_NULL Same as BS_HOLLOW.
BS_PATTERN Pattern brush defined by a memory bitmap.
BS_PATTERN8X8 Same as BS_PATTERN.
BS_SOLID Solid brush.
lbColor
Specifies the color in which the brush is to be drawn. If lbStyle is
the BS_HOLLOW or BS_PATTERN style, lbColor is ignored.
If lbStyle is BS_DIBPATTERN or BS_DIBPATTERNPT, the low-order word of
lbColor specifies whether the bmiColors members of the BITMAPINFO
structure contain explicit red, green, blue (RGB) values or indexes
into the currently realized logical palette. The lbColor member must be
one of the following values. Value Meaning
DIB_PAL_COLORS The color table consists of an array of 16-bit indexes
into the currently realized logical palette.
DIB_RGB_COLORS The color table contains literal RGB values.
If lbStyle is BS_HATCHED or BS_SOLID, lbColor is a COLORREF color
value. To create a COLORREF color value, use the RGB macro.
lbHatch
Specifies a hatch style. The meaning depends on the brush style defined
by lbStyle.
If lbStyle is BS_DIBPATTERN, the lbHatch member contains a handle to a
packed DIB. To obtain this handle, an application calls the GlobalAlloc
function with GMEM_MOVEABLE (or LocalAlloc with LMEM_MOVEABLE) to
allocate a block of memory and then fills the memory with the packed
DIB. A packed DIB consists of a BITMAPINFO structure immediately
followed by the array of bytes that define the pixels of the bitmap.
If lbStyle is BS_DIBPATTERNPT, the lbHatch member contains a pointer to
a packed DIB. The pointer derives from the memory block created by
LocalAlloc with LMEM_FIXED set or by GlobalAlloc with GMEM_FIXED set,
or it is the pointer returned by a call like LocalLock
(handle_to_the_dib). A packed DIB consists of a BITMAPINFO structure
immediately followed by the array of bytes that define the pixels of
the bitmap.
If lbStyle is BS_HATCHED, the lbHatch member specifies the orientation
of the lines used to create the hatch. It can be one of the following
values. Value Meaning
HS_BDIAGONAL A 45-degree upward, left-to-right hatch
HS_CROSS Horizontal and vertical cross-hatch
HS_DIAGCROSS 45-degree crosshatch
HS_FDIAGONAL A 45-degree downward, left-to-right hatch
HS_HORIZONTAL Horizontal hatch
HS_VERTICAL Vertical hatch
If lbStyle is BS_PATTERN, lbHatch is a handle to the bitmap that
defines the pattern. The bitmap cannot be a DIB section bitmap, which
is created by the CreateDIBSection function.
If lbStyle is BS_SOLID or BS_HOLLOW, lbHatch is ignored.
Remarks
Although lbColor controls the foreground color of a hatch brush, the SetBkMode and SetBkColor functions control the background color.
Windows 95: Creating brushes from bitmaps or DIBs larger than 8 by 8 pixels is not supported. If a larger bitmap is specified, only a portion of the bitmap is used.
Windows NT/2000 and Windows 98/Me: Brushes can be created from bitmaps or DIBs larger than 8 by 8 pixels.
Requirements
- Windows NT/2000 or later: Requires Windows NT 3.1 or later.
- Windows 95/98/Me: Requires Windows 95 or later.
- Header: Declared in Wingdi.h; include Windows.h.
windows_programming_notes.nbk: Home | Index | Next Page: LPNMLVDISPINFO | Previous Page: LockResource
Notebook exported on Monday, 7 July 2008, 18:56:50 PM Eastern Daylight Time