According to the CreateCompatibleBitmap
:
Remarks
The color format of the bitmap created by the CreateCompatibleBitmap
function matches the color format of the device identified by the hdc parameter. This bitmap can be selected into any memory device context that is compatible with the original device.
Because memory device contexts allow both color and monochrome bitmaps, the format of the bitmap returned by the CreateCompatibleBitmap function differs when the specified device context is a memory device context. However, a compatible bitmap that was created for a nonmemory device context always possesses the same color format and uses the same color palette as the specified device context.
Note: When a memory device context is created, it initially has a 1-by-1 monochrome bitmap selected into it. If this memory device context is used in CreateCompatibleBitmap, the bitmap that is created is a monochrome bitmap. To create a color bitmap, use the HDC that was used to create the memory device context,
So if you use the memory device, the bitmap that is created is a monochrome bitmap(black and white).
More references:Memory Device Contexts
and The result of CreateCompatibleDC only has two colors
So you can set a bitmap compatible with that DC so that you will get a larger monochrome bitmap.