Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
MSDN Library


Windows Mobile 6.5
A version of this page is also available for

This function creates a logical brush that has the pattern specified by the device-independent bitmap (DIB).

HBRUSH CreateDIBPatternBrushPt(
  const void* lpPackedDIB, 
  UINT iUsage


[in] Long pointer to a packed DIB consisting of a BITMAPINFO structure immediately followed by an array of bytes defining the pixels of the bitmap.


[in] Specifies whether the bmiColors member of the BITMAPINFO structure contains a valid color table and, if so, whether the entries in this color table contain explicit RGB values or palette indices.

The iUsage parameter must be one of the following values.

Value Description


A color table is provided and consists of an array of 16-bit indices into the logical palette of the device context into which the brush is to be selected.

Windows CE 1.0 and 1.01 do not support this value.


A color table is provided and contains literal RGB values.

In Windows CE 2.0 and later, set the iUsage parameter to DIB_RGB_COLORS.

When an 8-bpp bitmap is used, you can set iUsage to DIB_PAL_COLORS; however, in that case, Windows Embedded CE ignores the values in the bmiColors array member of the BITMAPINFO structure.

Handle to a logical brush indicates success.

NULL indicates failure.

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 CreateDIBPatternBrushPt, it can select that brush into any device context by calling the SelectObject function.

When you no longer need the brush, call the DeleteObject function to delete it.

Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions

© 2015 Microsoft