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?



LinkBack URL
About LinkBacks


