draw system icon
来源:互联网 发布:java对象比较 编辑:程序博客网 时间:2024/05/16 11:39
This is a demo for drawing system icon,each extension have a different icon
Totally have four types icon, 16 pixel,32 pixel,48 pixel and 256 pixel.
1,Define IImageList object.
IImageList* m_pImageList_16;IImageList* m_pImageList_32;IImageList* m_pImageList_48;IImageList* m_pImageList_256;
SHFILEINFO shfi;ZeroMemory(&shfi, sizeof(SHFILEINFO));HRESULT hr = SHGetFileInfo(tmp, FILE_ATTRIBUTE_NORMAL, &shfi, sizeof(shfi), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES);
3,Draw the icon in onpaint function.
void CGetFileInfoDlg::DrawIcon256(int index, CDC *pDC, int x, int y){ //图标缩小显示 BLENDFUNCTION bf; bf.BlendOp = AC_SRC_OVER; bf.BlendFlags = 0; bf.AlphaFormat = AC_SRC_ALPHA; bf.SourceConstantAlpha = 255; CDC tempDC; tempDC.CreateCompatibleDC(pDC); CBitmap tempBmp; tempBmp.CreateCompatibleBitmap(pDC, 256, 256); tempDC.SelectObject(&tempBmp); tempDC.FillSolidRect(0, 0, 256, 256, RGB(255, 255, 255)); CDC dcColorIcon; dcColorIcon.CreateCompatibleDC(pDC); CBitmap cbColorIcon; cbColorIcon.CreateCompatibleBitmap(pDC, 256, 256); dcColorIcon.SelectObject(&cbColorIcon); ImageList_Draw((HIMAGELIST)m_pImageList_256, index, dcColorIcon.GetSafeHdc(), 0, 0, ILD_TRANSPARENT); tempDC.AlphaBlend(0, 0, 256, 256, &dcColorIcon, 0, 0, 256, 256, bf); pDC->SetStretchBltMode(HALFTONE); pDC->StretchBlt(x, y, 256, 256, &tempDC, 0, 0, 256, 256, SRCCOPY); CPoint pt; ::SetBrushOrgEx(pDC->m_hDC, 0, 0, &pt);}
below is my debug interface,i draw some 256 pixel icon on this dialog.
You can modify the parameters of the function(GetAllPath) and test the other paths.
阅读全文
0 0
- draw system icon
- 【System Icon】using system icon
- System Tray Icon Example
- QT System Tray Icon Example 看看看~
- Draw
- Draw
- Draw
- DRAW
- How to draw an Icon on the IndicatorPane of Series 60
- How to draw an Icon on the IndicatorPane of Series 60
- icon
- icon
- icon
- ICON
- ICON
- icon
- icon
- Icon
- 关于项目连接oracle不能写IP的解决方法
- Whitelabel Error Page
- AndroidStudio opencv(二)perspective transform
- weblogic 发布项目报错
- 一文读懂机器学习概率图模型(附示例&学习资源)
- draw system icon
- Java intercepter
- Linux前言
- C#字符串
- 打印华氏温度与摄氏温度对照表
- Python基础‘姿势’3
- 机器学习系列--GBDT算法总结与源码分析
- 十七、生成器
- FreeBASIC学习笔记——2.4 强制转换