OleUIInsertObjectA 函数 (oledlg.h)
调用标准 插入对象 对话框,该对话框允许用户选择对象源和类名,以及将对象显示为自身或图标的选项。
语法
UINT OleUIInsertObjectA(
[in] LPOLEUIINSERTOBJECTA unnamedParam1
);
参数
[in] unnamedParam1
指向此对话框 OLEUIINSERTOBJECT 结构的指针。
返回值
标准成功/错误定义
返回代码 | 描述 |
---|---|
|
未知故障(未使用)。 |
|
用户按下了“确定”按钮。 |
|
没有错误,与OLEUI_OK相同。 |
|
用户按下了“取消”按钮。 |
标准字段验证错误
返回代码 | 描述 |
---|---|
|
所有对话框常见的错误位于范围OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX。 此值允许应用程序测试标准消息,以便向用户显示错误消息。 |
|
传递给函数的 OLEUIXXX 结构的指针 NULL。 |
|
权限不足,无法读取或写入对 OLEUIXXX 结构的访问权限。 |
|
cbstruct 值不正确。 |
|
hWndOwner 值无效。 |
|
lpszCaption 值无效。 |
|
lpfnHook 值无效。 |
|
hInstance 值无效。 |
|
lpszTemplate 值无效。 |
|
hResource 值无效。 |
初始化错误
返回代码 | 描述 |
---|---|
|
找不到对话框模板。 |
|
无法加载对话框模板。 |
|
对话框初始化失败。 |
|
调用 LocalAlloc 或标准 IMalloc 分配器失败。 |
|
调用 GlobalAlloc 或标准 IMalloc 分配器失败。 |
|
无法从库为本地化资源调用 LoadString。 |
|
对标准 IMalloc 分配器的调用失败。 |
函数特定错误
返回代码 | 描述 |
---|---|
|
所有对话框常见的错误位于范围OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX。 此值允许应用程序测试标准消息,以便向用户显示错误消息。 |
|
lpszFile 值无效,或者用户写入访问权限不足。此 lpszFile 成员指向链接到或插入的文件的名称。 |
|
ppvOjb 值无效。 此成员指向返回对象的指针的位置。 |
|
lpIOleClientSite 值无效。 此成员指向对象的客户端站点。 |
|
lpIStorage 值无效。 此成员指向要用于对象的存储。 |
|
lpIO 的 sc 成员具有其他错误信息。 |
|
lpClsidExclude 值无效。 此成员包含要排除的 CLSID 列表。 |
|
cchFile 或 lpszFile 值无效。 cchFile 成员指定 lpszFile 缓冲区的大小。 lpszFile 成员指向链接到或插入的文件的名称。 |
言论
OleUIInsertObject 允许用户从包含用户系统上注册的对象应用程序的列表框中选择要插入的对象类型。 若要填充该列表框,OleUIInsertObject 遍历注册表,并添加它找到的每个满足以下条件的对象服务器:
- 注册表项不包括 NotInsertable 键。
- 注册表项包括 OLE 1.0 样式协议\\StdFileEditing\\Server 键。
- 注册表项包括可插入键。
- 对象的 CLSID 不包括在要排除的对象列表中(lpClsidExcludeOLEUIINSERTOBJECT的成员)。
若要释放从 插入对象 或 粘贴特殊 对话框中返回的 HMETAFILEPICT,请删除句柄上的附加图元文件,如下所示:
void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
if (hmfp != NULL)
{
LPMETAFILEPICT pmfp = GlobalLock(hmfp);
DeleteMetaFile(pmfp->hMF);
GlobalUnlock(hmfp);
GlobalFree(hmfp);
}
else
{
// Handle null pointers here.
exit(0);
}
}
注意
oledlg.h 标头将 OLEUIINSERTOBJECT 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | oledlg.h |
库 | OleDlg.lib |
DLL | OleDlg.dll |