OleUIPasteSpecialA 関数 (oledlg.h)
標準の [ 形式の貼り付け ] ダイアログ ボックスを呼び出して、貼り付けるクリップボード オブジェクトまたは貼り付けリンクの形式をユーザーが選択できるようにします。
構文
UINT OleUIPasteSpecialA(
[in] LPOLEUIPASTESPECIALA unnamedParam1
);
パラメーター
[in] unnamedParam1
OLEUIPASTESPECIAL 構造体へのポインター。
戻り値
標準の成功/エラー定義
リターン コード | 説明 |
---|---|
|
不明なエラー (未使用)。 |
|
ユーザーが [OK] ボタンを押しました。 |
|
OLEUI_OKと同じエラーはありません。 |
|
ユーザーが [キャンセル] ボタンを押しました。 |
標準フィールドの検証エラー
リターン コード | 説明 |
---|---|
|
すべてのダイアログ ボックスに共通するエラーは、OLEUI_ERR_STANDARDMAX OLEUI_ERR_STANDARDMIN範囲にあります。 この値を使用すると、ユーザーにエラー メッセージを表示するために、アプリケーションで標準メッセージをテストできます。 |
|
関数に渡された OLEUIXXX 構造体へのポインターが NULL でした。 |
|
OLEUIXXX 構造体への読み取りまたは書き込みアクセスに対するアクセス許可が不十分です。 |
|
cbstruct 値が正しくありません。 |
|
hWndOwner 値が無効です。 |
|
lpszCaption 値が無効です。 |
|
lpfnHook 値が無効です。 |
|
hInstance 値が無効です。 |
|
lpszTemplate 値が無効です。 |
|
hResource 値が無効です。 |
初期化エラー
リターン コード | 説明 |
---|---|
|
ダイアログ ボックス テンプレートが見つかりません。 |
|
ダイアログ ボックス テンプレートを読み込むことができません。 |
|
ダイアログ ボックスの初期化に失敗しました。 |
|
LocalAlloc または標準の IMalloc アロケーターの呼び出しに失敗しました。 |
|
GlobalAlloc または標準の IMalloc アロケーターの呼び出しに失敗しました。 |
|
LoadString を呼び出してライブラリからローカライズされたリソースを取得できません。 |
|
標準 の IMalloc アロケーターの呼び出しに失敗しました。 |
関数固有のエラー
リターン コード | 説明 |
---|---|
|
すべてのダイアログ ボックスに共通するエラーは、OLEUI_ERR_STANDARDMAX OLEUI_ERR_STANDARDMIN範囲にあります。 この値を使用すると、ユーザーにエラー メッセージを表示するために、アプリケーションで標準メッセージをテストできます。 |
|
OLEUIPASTESPECIAL の lpSrcDataObject メンバーが無効です。 |
|
OLEUIPASTESPECIAL の arrPasteEntries メンバーが無効です。 |
|
OLEUIPASTESPECIAL の arrLinkTypes メンバーが無効です。 |
|
ダイアログ ボックスの表示中にクリップボードの内容が変更されました。 |
|
lpSrcDataObj メンバーが正しくありません。 |
注釈
[ 形式を選択して貼り付け ] ダイアログ ボックスのデザインでは、ユーザーがオブジェクトへのリンクを許可する場合は、ユーザーがそのオブジェクトを埋め込むこともできます。 このため、 OLEUIPASTEFLAG 列挙に関連付けられているOLEUIPASTE_LINKTYPE フラグのいずれかが設定されている場合は、データ形式を [ 形式の貼り付け ] ダイアログ ボックスに表示するために、OLEUIPASTE_PASTE フラグも設定する必要があります。
Oledlg32.dll で実装されている標準の [形式の貼り付け] ダイアログ ボックスの [ソース] フィールドに表示されるテキストは、貼り付けるオブジェクトの OBJECTDESCRIPTOR 構造体の dwSrcofCopy メンバーでバイト単位のオフセットが指定された null で終わる文字列です。 このオブジェクトに対して OBJECTDESCRIPTOR 構造体を使用できない場合、ダイアログ ボックスには、CF_LINKSOURCEDESCRIPTORに関連付けられている可能性のあるテキストが表示されます。 どちらの構造も使用できない場合は、ダイアログ ボックスでCF_FILENAMEが検索されます。 CF_FILENAMEが見つからない場合、ダイアログ ボックスに "不明なソース" という文字列が表示されます。
[オブジェクトの挿入] または [特殊な貼り付け] ダイアログ ボックスから返された 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 プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして OLEUIPASTESPECIAL を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oledlg.h |
Library | OleDlg.lib |
[DLL] | OleDlg.dll |