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
接口的指针。