IUIImageFromBitmap::CreateImage 方法 (uiribbon.h)

从位图图像创建 IUIImage 对象。

语法

HRESULT CreateImage(
  [in]  HBITMAP      bitmap,
  [in]  UI_OWNERSHIP options,
  [out] IUIImage     **image
);

参数

[in] bitmap

类型: HBITMAP

包含图像的位图的句柄。

[in] options

类型: UI_OWNERSHIP

创建映像时所依据的 所有权条件

含义
UI_OWNERSHIP_TRANSFER 如果将 UI_OWNERSHIP_TRANSFER 指定为 选项的值,则功能区框架通过 IUIImage 对象) 拥有位图 (HBITMAP 的句柄,并在框架不再需要它时释放它。
注意 此选项可防止功能区主机应用程序在应用程序 UI 中的其他位置安全地引用相同的 HBITMAP。
 
UI_OWNERSHIP_COPY 如果将 UI_OWNERSHIP_COPY 指定为 选项的值,则主机应用程序拥有 HBITMAP,并且能够引用相同的 HBITMAP 以在 UI 中的其他位置使用。
注意 此选项负责在主机应用程序上发布 HBITMAP。
 

[out] image

类型: IUIImage**

此方法返回时,包含接收 IUIImage 对象的指针变量的地址。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

当应用程序动态生成图像资源并希望将新的 HBITMAP 传递到功能区时,此工厂方法非常有用,例如,通过 Windows 图像处理组件 (WIC) 加载可移植网络图形 (PNG) 或使用 CreateDIBSection 为样式库中的新样式创建图像。

此方法也适用于需要功能区未呈现过时的预先存在的位图图像的应用程序,例如旧式工具栏图像条带。

如果功能区正在现有应用程序中实现并且需要进行最少的代码更改,请将 UI_OWNERSHIP_COPY 指定为 选项 的值。 此方法为附加映像使用额外的内存。

UI_OWNERSHIP_TRANSFER 指定为 选项 的值,以最大程度地减少内存使用量。

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 uiribbon.h
DLL Mshtml.dll

另请参阅

IUIImageFromBitmap

Windows 功能区框架示例