CreateMappedBitmap 函数 (commctrl.h)
创建在工具栏中使用的位图。
语法
HBITMAP CreateMappedBitmap(
HINSTANCE hInstance,
INT_PTR idBitmap,
UINT wFlags,
[in] LPCOLORMAP lpColorMap,
int iNumMaps
);
参数
hInstance
类型: HINSTANCE
包含包含位图资源的可执行文件的模块实例的句柄。
idBitmap
类型: INT_PTR
位图资源的资源标识符。
wFlags
类型: UINT
位图标志。 此参数可以为零或以下值:
值 | 含义 |
---|---|
|
使用位图作为掩码。 |
[in] lpColorMap
类型: LPCOLORMAP
指向 COLORMAP 结构的指针,该结构包含映射位图所需的颜色信息。 如果此参数为 NULL,则该函数使用默认颜色贴图。
iNumMaps
类型: int
lpColorMap 指向的颜色映射数。
返回值
类型: HBITMAP
如果成功,则返回位图的句柄,否则返回 NULL 。 若要检索扩展的错误信息,请调用 GetLastError。
注解
函数使用位图资源指定的位图数据和颜色以及颜色映射信息创建新的位图。
只有具有彩色映射的图像才完全支持此功能;即具有 256 种或更少颜色的图像。
示例
以下示例代码从资源创建位图,并通过映射到按钮面的系统颜色使黑色显示为透明。
DWORD backgroundColor = GetSysColor(COLOR_BTNFACE);
COLORMAP colorMap;
colorMap.from = RGB(0, 0, 0);
colorMap.to = backgroundColor;
HBITMAP hbm = CreateMappedBitmap(g_hInst, IDB_BITMAP1, 0, &colorMap, 1);
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | commctrl.h |
Library | Comctl32.lib |
DLL | Comctl32.dll |
API 集 | ext-ms-win-shell-comctl32-init-l1-1-1 (在 Windows 10 版本 10.0.14393 中引入) |