如何从CBitmap得到HICON 我有个.bmp文件,但我需要的是icon,我该如何将BITMAP转换为HICON呢(不能用转换工具转换为ICON文件,对于我没有意义) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不知道他们两个的文件格式是不是一样的如果是一样的话那就好办了你直接按二进制资源在程序中加载,然后强制转换 ,HICON只是一个指针而已! sohou(大秦之刃) 的方法好像事行不通的.从bitmap到icon的转化是个非常复杂的过程,要对HICON和BITMAP的格式非常熟悉,从BITMAP中读取数据,然后按照ICON的格式生成文件头,然后填充数据,最后才能生成真正的ICON文件 你用icon的目的何在?说说看看,说不定有第二个方法 厄,你是要从一个Bitmap文件得到HICON,还是得到一个.ico文件?如果要得到HICON,还是比较简单的。用CImageList可以办到。先LoadBitmap,然后attach到一个CBitmap的对象上去,把这个CBitmap的对象存入CImageList,然后再ExtractIcon,就得到一个HICON的句柄。示例如下:CBitmap Bitmap;HBITMAP hThumbnailBmp = NULL;...hThumbnailBmp = ::CreateDIBSection(hMemDC, lpBmpInfo, DIB_RGB_COLORS, NULL, NULL, 0); StretchDIBits//»­Í¼ ( hMemDC, ThumbRect.left, ThumbRect.top, ThumbRect.Width(), ThumbRect.Height(), //Dest 0, 0, lpBmpInfo->bmiHeader.biWidth, lpBmpInfo->bmiHeader.biHeight, //Src lpDibBits, lpBmpInfo, DIB_RGB_COLORS, SRCCOPY );Bitmap.Attach(hThumbnailBmp);imglstThumbnail.Replace(pItemInfo->nThumbIndex, &Bitmap, NULL);HICON hIcon = imglstThumbnail.ExtractIcon(...); 谢谢 codewarrior(会思考的草)及其他的朋友们 UAC 确认框中程序名称的疑问 [求助]CFileFind使用问题 请问有河南新乡市的朋友吗? 有事请教,谢谢了。 请教做不带界面的COM 如何在同一对话框上实现两组RADIO,也就是说,点击一组中的一个RADIO,不会影响另一组的选择 想破头: winsock 如何获取硬盘序列号,具体API的函数,尽量详细点,到参数,50分 明天我不知道要不要上班啊,帮帮我啊 static控件调用对话框 如何在右键菜单中添加... openGL贴圆柱纹理效果不行,帮我看看怎么改进 ★★★★new和HeapAlloc有什么区别?★★★★
你直接按二进制资源在程序中加载,然后强制转换 ,HICON只是一个指针而已!
说说看看,说不定有第二个方法
如果要得到HICON,还是比较简单的。用CImageList可以办到。
先LoadBitmap,然后attach到一个CBitmap的对象上去,把这个CBitmap的对象存入CImageList,然后再ExtractIcon,就得到一个HICON的句柄。
示例如下:CBitmap Bitmap;
HBITMAP hThumbnailBmp = NULL;...hThumbnailBmp = ::CreateDIBSection(hMemDC, lpBmpInfo, DIB_RGB_COLORS, NULL, NULL, 0);
StretchDIBits//»­Í¼
(
hMemDC,
ThumbRect.left, ThumbRect.top, ThumbRect.Width(), ThumbRect.Height(), //Dest
0, 0, lpBmpInfo->bmiHeader.biWidth, lpBmpInfo->bmiHeader.biHeight, //Src
lpDibBits,
lpBmpInfo,
DIB_RGB_COLORS,
SRCCOPY
);
Bitmap.Attach(hThumbnailBmp);
imglstThumbnail.Replace(pItemInfo->nThumbIndex, &Bitmap, NULL);HICON hIcon = imglstThumbnail.ExtractIcon(...);