The CreateBrushIndirect function creates a logical brush that has the specified style, color, and pattern.
HBRUSH CreateBrushIndirect(
CONST LOGBRUSH *lplb // pointer to structure describing brush
);
If the function succeeds, the return value identifies a logical brush.
If the function fails, the return value is NULL.
Windows NT: To get extended error information, call GetLastError.
A brush is a bitmap that the system uses to paint the interiors of filled shapes.
After an application creates a brush by calling CreateBrushIndirect, it can select it into any device context by calling the SelectObject function.
A brush created by using a monochrome bitmap (one color plane, one bit per pixel) is drawn using the current text and background colors. Pixels represented by a bit set to 0 are drawn with the current text color; pixels represented by a bit set to 1 are drawn with the current background color.
If the lbStyle member of the LOGBRUSH structure pointed to by lplb is BS_PATTERN, the bitmap pointed to by the lbHatch member of that structure cannot be a DIB section. A DIB section is a bitmap created by CreateDibSection. If that bitmap is a DIB section, the CreateBrushIndirect function fails.
When you no longer need the brush, call the DeleteObject function to delete it.
ICM: No color is done at brush creation. However, color management will be performed when the brush is selected into an ICM-enabled device context.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Brushes Overview, Brush Functions, CreateDibSection, DeleteObject, GetBrushOrgEx, LOGBRUSH, SelectObject, SetBrushOrgEx