示例#1
0
HICON CBCGPGlobalUtils::GrayIcon(HICON hIcon)
{
	if (hIcon == NULL)
	{
		return NULL;
	}

#ifdef _BCGSUITE_
	return ::CopyIcon(hIcon);
#else
	HBITMAP hBmp = BCGPIconToBitmap32 (hIcon);

	BITMAP bmp;
	::GetObject (hBmp, sizeof (BITMAP), (LPVOID) &bmp);

	CBCGPToolBarImages images;
	images.SetImageSize (CSize (bmp.bmWidth, bmp.bmHeight));

	images.AddImage(hBmp, TRUE);
	images.ConvertToGrayScale();
	return images.ExtractIcon(0);

#endif
}