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 樣式 Protocol\\StdFileEditing\\Server 機碼。
- 登錄專案包含可插入的機碼。
- 物件的 CLSID 不包含在要排除的物件清單中(lpClsidExcludeOLEUIINSERTOBJECT的成員)。
若要釋放從 Insert Object 或 [貼上特殊] 對話框傳回的 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 標頭會根據 UNICODE 預處理器常數的定義,將 OLEUIINSERTOBJECT 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | oledlg.h |
連結庫 | OleDlg.lib |
DLL | OleDlg.dll |