Bra*_*ger 24
您可以使用Windows Imaging Component加载PNG文件(在Windows XP SP2及更高版本上).有关如何使用API和我的博客文章的介绍,请参阅MSDN杂志,以获取从IStream加载PNG并将其转换为HBITMAP的代码示例.
无需使用Windows Imaging Component,GDI +或PNG库.您可以使用图标功能.
使用自定义宽度和高度(资源编辑器 - >图像 - >新图像类型)将新图标(ICO_PNG)添加到VC项目资源.复制您的png图像并使用填充工具+透明颜色使图标透明.
将Picture Control(IDC_PNG)添加到对话框(Type = Owner draw).
对话程序代码:
switch (msg)
{
...
case WM_DRAWITEM:
{
LPDRAWITEMSTRUCT pDIS = (LPDRAWITEMSTRUCT)lParam;
if (pDIS->CtlID == IDC_PNG)
{
HICON hIcon = (HICON)LoadImage(GetModuleHandle(0), MAKEINTRESOURCE(ICO_LOGO), IMAGE_ICON, 0, 0, LR_LOADTRANSPARENT);
DrawIconEx(pDIS->hDC, 0, 0, hIcon, 0, 0, 0, NULL, DI_NORMAL);
DestroyIcon(hIcon);
return TRUE;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35288 次 |
| 最近记录: |