Creating ICON form BITMAP files
I have a problem with creating icon form bitmap files my code is following:
Code:
// HWND o_hwnd - handle to current window
// import - retrieves content of specified file
ICONINFO _iconInfo;
PBITMAPFILEHEADER _pBmpFileHeader = (PBITMAPFILEHEADER)import("image.BMP");
_iconInfo.hbmpColor = CreateDIBitmap (
GetDC(o_hwnd),
(PBITMAPINFOHEADER)(_pBmpFileHeader + 0x01),
0x04,
((void*)_pBmpFileHeader)+_pBmpFileHeader.offBits,
(PBITMAPINFO)(_pBmpFileHeader + 0x01),
0
);
PBITMAPFILEHEADER _pMskFileHeader = (PBITMAPFILEHEADER)import("mask.BMP");
_iconInfo.hbmpMask = CreateDIBitmap (
GetDC(o_hwnd),
(PBITMAPINFOHEADER)(_pMskFileHeader + 0x01),
0x04,
((void*)_pMskFileHeader)+_pBmpFileHeader.offBits,
(PBITMAPINFO)(_pMskFileHeader + 0x01),
0
);
_iconInfo.icon = TRUE;
HICON _hIco = CreateIconIndirect(&_iconInfo);
SendMessage(o_hwnd, WM_SETICON, 0, (LPARAM)_hIco);
image.bmp is 24 bit color bitmap (16x16) - upper left image in all.bmp (attachment)
mask.bmp is 1 bit color bitmap (16x16) - white circle on black background - upper right image in all.bmp (attachment)
Icon on caption bar is fully visible with little darker circle.- lower right image in all.bmp (attachment)
Icon on task bar is visible everything expect circle (It should be inverted) - lower left image in all.bmp (attachment)
What is wrong?