CPictureHolder 类

实现一个图片属性,此属性使用户能够在控件中显示图片。

语法

class CPictureHolder

成员

公共构造函数

名称 描述
CPictureHolder::CPictureHolder 构造 CPictureHolder 对象。

公共方法

名称 描述
CPictureHolder::CreateEmpty 创建一个空的 CPictureHolder 对象。
CPictureHolder::CreateFromBitmap 从位图创建一个 CPictureHolder 对象。
CPictureHolder::CreateFromIcon 从图标创建一个 CPictureHolder 对象。
CPictureHolder::CreateFromMetafile 从元文件创建一个 CPictureHolder 对象。
CPictureHolder::GetDisplayString 检索控件容器的属性浏览器中显示的字符串。
CPictureHolder::GetPictureDispatch 返回 CPictureHolder 对象的 IDispatch 接口。
CPictureHolder::GetType 指示 CPictureHolder 对象是位图、元文件还是图标。
CPictureHolder::Render 呈现图片。
CPictureHolder::SetPictureDispatch 设置 CPictureHolder 对象的 IDispatch 接口。

公共数据成员

“属性” 描述
CPictureHolder::m_pPict 指向图片对象的指针。

备注

CPictureHolder 没有基类。

通过库存图片属性,开发人员可以指定要显示的位图、图标或元文件。

有关创建自定义图片属性的信息,请参阅 MFC ActiveX 控件:在 ActiveX 控件中使用图片一文。

继承层次结构

CPictureHolder

要求

标头:afxctl.h

CPictureHolder::CPictureHolder

构造 CPictureHolder 对象。

CPictureHolder();

CPictureHolder::CreateEmpty

创建一个空的 CPictureHolder 对象,并将它连接到 IPicture 接口。

BOOL CreateEmpty();

返回值

如果对象已成功创建,则为非零值;否则为 0。

CPictureHolder::CreateFromBitmap

使用位图初始化 CPictureHolder 中的图片对象。

BOOL CreateFromBitmap(
    UINT idResource);

BOOL CreateFromBitmap(
    CBitmap* pBitmap,
    CPalette* pPal = NULL,
    BOOL bTransferOwnership = TRUE);

BOOL CreateFromBitmap(
    HBITMAP hbm,
    HPALETTE hpal = NULL,
    BOOL bTransferOwnership = FALSE);

参数

idResource
位图资源的资源 ID。

pBitmap
指向 CBitmap 对象的指针。

pPal
指向 CPalette 对象的指针。

bTransferOwnership
指示图片对象是否将取得位图和调色板对象的所有权。

hbm
从中创建 CPictureHolder 对象的位图的句柄。

hpal
用于呈现位图的调色板的句柄。

返回值

如果对象已成功创建,则为非零值;否则为 0。

备注

如果 bTransferOwnership 为 TRUE,则在此调用返回后,调用方不应以任何方式使用位图或调色板对象。 如果 bTransferOwnership 为 FALSE,则调用方负责确保位图和调色板对象在图片对象的生存期内保持有效

CPictureHolder::CreateFromIcon

使用图标初始化 CPictureHolder 中的图片对象。

BOOL CreateFromIcon(
    UINT idResource);

BOOL CreateFromIcon(
    HICON hIcon,
    BOOL bTransferOwnership = FALSE);

参数

idResource
位图资源的资源 ID。

hIcon
从中创建 CPictureHolder 对象的图标的句柄。

bTransferOwnership
指示图片对象是否将取得图标对象的所有权。

返回值

如果对象已成功创建,则为非零值;否则为 0。

备注

如果 bTransferOwnership 为 TRUE,则在此调用返回后,调用方不应以任何方式使用图标对象。 如果 bTransferOwnership 为 FALSE,则调用方负责确保图标对象在图片对象的生存期内保持有效

CPictureHolder::CreateFromMetafile

使用元文件初始化 CPictureHolder 中的图片对象。

BOOL CreateFromMetafile(
    HMETAFILE hmf,
    int xExt,
    int yExt,
    BOOL bTransferOwnership = FALSE);

参数

hmf
用于创建 CPictureHolder 对象的元文件的句柄。

xExt
图片的 X 范围。

yExt
图片的 Y 范围。

bTransferOwnership
指示图片对象是否将取得元文件对象的所有权。

返回值

如果对象已成功创建,则为非零值;否则为 0。

备注

如果 bTransferOwnership 为 TRUE,则在此调用返回后,调用方不应以任何方式使用元文件对象。 如果 bTransferOwnership 为 FALSE,则调用方负责确保元文件对象在图片对象的生存期内保持有效

CPictureHolder::GetDisplayString

检索容器的属性浏览器中显示的字符串。

BOOL GetDisplayString(CString& strValue);

参数

strValue
对要保存显示字符串的 CString 的引用。

返回值

如果成功检索字符串,则为非零值;否则为 0。

CPictureHolder::GetPictureDispatch

此函数返回指向 CPictureHolder 对象的 IPictureDisp 接口的指针。

LPPICTUREDISP GetPictureDispatch();

返回值

指向 CPictureHolder 对象的 IPictureDisp 接口的指针。

注解

调用方必须在使用完此指针后对它调用 Release

CPictureHolder::GetType

指示图片是位图、元文件还是图标。

short GetType();

返回值

一个指示图片的类型的值。 可能的值及其含义如下:

含义
PICTYPE_UNINITIALIZED CPictureHolder 对象未初始化。
PICTYPE_NONE CPictureHolder 对象为空。
PICTYPE_BITMAP 图片是位图。
PICTYPE_METAFILE 图片是元文件。
PICTYPE_ICON 图片是图标。

CPictureHolder::m_pPict

指向 CPictureHolder 对象的 IPicture 接口的指针。

LPPICTURE m_pPict;

CPictureHolder::Render

在 rcRender 引用的矩形中呈现图片

void Render(
    CDC* pDC,
    const CRect& rcRender,
    const CRect& rcWBounds);

参数

pDC
指向要在其中呈现图片的显示上下文的指针。

rcRender
要在其中呈现图片的矩形。

rcWBounds
表示呈现图片的对象的边框的矩形。 对于控件,此矩形是传递给 COleControl::OnDraw 的替代的 rcBounds 参数

CPictureHolder::SetPictureDispatch

CPictureHolder 对象连接到 IPictureDisp 接口。

void SetPictureDispatch(LPPICTUREDISP pDisp);

参数

pDisp
指向新 IPictureDisp 接口的指针。

另请参阅

层次结构图
CFontHolder 类