COlePasteSpecialDialog クラス

OLE の [形式を選択して貼り付け] ダイアログ ボックス用に使用されます。

構文

class COlePasteSpecialDialog : public COleDialog

メンバー

パブリック コンストラクター

名前 説明
COlePasteSpecialDialog::COlePasteSpecialDialog COlePasteSpecialDialog オブジェクトを構築します。

パブリック メソッド

名前 説明
COlePasteSpecialDialog::AddFormat アプリケーションで貼り付けることができる形式の一覧にカスタム形式を追加します。
COlePasteSpecialDialog::AddLinkEntry サポートされているクリップボード形式の一覧に新しいエントリを追加します。
COlePasteSpecialDialog::AddStandardFormats アプリケーションで貼り付けることができる形式の一覧に、CF_BITMAP、CF_DIB、CF_METAFILEPICT、および必要に応じてCF_LINKSOURCEを追加します。
COlePasteSpecialDialog::CreateItem 指定した形式を使用して、コンテナー ドキュメント内に項目を作成します。
COlePasteSpecialDialog::D oModal [OLE 形式の貼り付け] ダイアログ ボックスを表示します。
COlePasteSpecialDialog::GetDrawAspect 項目をアイコンとして描画するかどうかを指定します。
COlePasteSpecialDialog::GetIconicMetafile このアイテムの象徴的な形式に関連付けられているメタファイルへのハンドルを取得します。
COlePasteSpecialDialog::GetPasteIndex ユーザーが選択した使用可能な貼り付けオプションのインデックスを取得します。
COlePasteSpecialDialog::GetSelectionType 選択した選択の種類を取得します。

パブリック データ メンバー

名前 説明
COlePasteSpecialDialog::m_ps ダイアログ ボックスの関数を制御する OLEUIPASTESPECIAL 型の構造体。

解説

このダイアログ ボックスを呼び出すときに COlePasteSpecialDialog クラスのオブジェクトを作成します。 COlePasteSpecialDialog オブジェクトが作成されたら、AddFormat および AddStandardFormats メンバー関数を使用して、クリップボード形式をダイアログ ボックスに追加できます。 m_ps構造体を使用して、ダイアログ ボックスのコントロールの値または状態を初期化することもできます。 m_ps構造体は OLEUIPASTESPECIAL 型です。

詳細については、Windows SDK の OLEUIPASTESPECIAL 構造体を参照してください。

OLE 固有のダイアログ ボックスの詳細については、「OLE のダイアログ ボックス」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COlePasteSpecialDialog

要件

Header: afxodlgs.h

COlePasteSpecialDialog::AddFormat

この関数を呼び出して、特殊な貼り付け操作でアプリケーションでサポートできる形式の一覧に新しい形式を追加します。

void AddFormat(
    const FORMATETC& formatEtc,
    LPTSTR lpszFormat,
    LPTSTR lpszResult,
    DWORD flags);

void AddFormat(
    UINT cf,
    DWORD tymed,
    UINT nFormatID,
    BOOL bEnableIcon,
    BOOL bLink);

パラメーター

fmt
追加するデータ型への参照。

lpszFormat
ユーザーの書式を表す文字列。

lpszResult
ダイアログ ボックスでこの形式を選択した場合の結果を表す文字列。

flags
この形式で使用できるさまざまなリンクと埋め込みオプション。 このフラグは、OLEUIPASTEFLAG 列挙型の 1 つ以上の異なる値のビットごとの組み合わせです。

cf
追加するクリップボードの形式。

tymed
この形式で使用できるメディアの種類。 これは、TYMED 列挙型の 1 つ以上の値のビットごとの組み合わせです。

nFormatID
この書式を識別する文字列の ID。 この文字列の形式は、'\n' 文字で区切られた 2 つの個別の文字列です。 最初の文字列は、 lpstrFormat パラメーターで渡される文字列と同じです。2 番目の文字列は、 lpstrResult パラメーターと同じです。

bEnableIcon
リスト ボックスでこの形式を選択したときに、[アイコンとして表示] チェック ボックスを有効にするかどうかを決定するフラグ。

瞬く
リスト ボックスでこの形式を選択したときに、[リンクの貼り付け] ラジオ ボタンが有効かどうかを決定するフラグ。

解説

この関数を呼び出して、CF_TEXTやCF_TIFFなどの標準形式、またはアプリケーションがシステムに登録したカスタム形式を追加できます。 データ オブジェクトをアプリケーションに貼り付ける方法の詳細については、「データ オブジェクトとデータ ソース: 操作」を参照してください。

詳細については、windows SDK の TYMED 列挙型と FORMATETC 構造体を参照してください。

詳細については、Windows SDK の OLEUIPASTEFLAG 列挙型を参照してください。

COlePasteSpecialDialog::AddLinkEntry

サポートされているクリップボード形式の一覧に新しいエントリを追加します。

OLEUIPASTEFLAG AddLinkEntry(UINT cf);

パラメーター

cf
追加するクリップボードの形式。

戻り値

新しいリンク・エントリーの情報を含む OLEUIPASTEFLAG 構造体。

COlePasteSpecialDialog::AddStandardFormats

この関数を呼び出して、アプリケーションでサポートできる形式の一覧に次のクリップボード形式を追加する、特殊な貼り付け操作。

void AddStandardFormats(BOOL bEnableLink = TRUE);

パラメーター

bEnableLink
アプリケーションで貼り付けることができる形式の一覧にCF_LINKSOURCEを追加するかどうかを決定するフラグ。

解説

  • CF_BITMAP

  • CF_DIB

  • CF_METAFILEPICT

  • "埋め込みオブジェクト"

  • (必要に応じて) "リンク ソース"

これらの形式は、埋め込みとリンクをサポートするために使用されます。

COlePasteSpecialDialog::COlePasteSpecialDialog

COlePasteSpecialDialog オブジェクトを構築します。

COlePasteSpecialDialog(
    DWORD dwFlags = PSF_SELECTPASTE,
    COleDataObject* pDataObject = NULL,
    CWnd* pParentWnd = NULL);

パラメーター

dwFlags
作成フラグには、ビットごとの OR 演算子を使用して結合された次のフラグの任意の数が含まれます。

  • PSF_SELECTPASTE ダイアログ ボックスが呼び出されたときに、[貼り付け] ラジオ ボタンを最初にオンにすることを指定します。 PSF_SELECTPASTELINKと組み合わせて使用することはできません。 これが既定です。

  • PSF_SELECTPASTELINK ダイアログ ボックスが呼び出されたときに、[リンクの貼り付け] オプション ボタンを最初にオンにすることを指定します。 PSF_SELECTPASTEと組み合わせて使用することはできません。

  • PSF_CHECKDISPLAYASICON ダイアログ ボックスが呼び出されたときに、[アイコンとして表示] チェック ボックスを最初にオンにすることを指定します。

  • PSF_SHOWHELP ダイアログ ボックスが呼び出されたときに [ヘルプ] ボタンを表示することを指定します。

pDataObject
貼り付け用の COleDataObject をポイントします。 この値が NULL の場合は、クリップボードから COleDataObject を取得します。

pParentWnd
ダイアログ オブジェクトが属する親または所有者ウィンドウ オブジェクト ( CWnd 型) をポイントします。 NULL の場合、ダイアログ ボックスの親ウィンドウはメイン アプリケーション ウィンドウに設定されます。

解説

この関数は、 COlePasteSpecialDialog オブジェクトのみを構築します。 ダイアログ ボックスを表示するには、 DoModal 関数を呼び出します。

詳細については、Windows SDK の OLEUIPASTEFLAG 列挙型を参照してください。

COlePasteSpecialDialog::CreateItem

[貼り付け] ダイアログ ボックスで選択した新しい項目を作成します。

BOOL CreateItem(COleClientItem* pNewItem);

パラメーター

pNewItem
COleClientItem インスタンスをポイントします。 Nll は指定できません。

戻り値

項目が正常に作成された場合は 0 以外。それ以外の場合は 0。

解説

この関数は、DoModal が IDOK を返した後にのみ呼び出す必要があります。

COlePasteSpecialDialog::D oModal

[OLE 形式の貼り付け] ダイアログ ボックスを表示します。

virtual INT_PTR DoModal();

戻り値

ダイアログ ボックスの完了状態。 次のいずれかの値です。

  • ダイアログ ボックスが正常に表示された場合は IDOK。

  • ユーザーがダイアログ ボックスをキャンセルした場合は IDCANCEL。

  • エラーが発生した場合は IDABORT。 IDABORT が返された場合は、 COleDialog::GetLastError メンバー関数を呼び出して、発生したエラーの種類に関する詳細情報を取得します。 考えられるエラーの一覧については、Windows SDK の OleUIPasteSpecial 関数を参照してください。

解説

m_ps構造体のメンバーを設定して、さまざまなダイアログ ボックス コントロールを初期化する場合は、DoModalを呼び出す前に、ダイアログ オブジェクトを構築した後に行う必要があります。

DoModalが IDOK を返す場合は、他のメンバー関数を呼び出して、ユーザーがダイアログ ボックスに入力した設定または情報を取得できます。

COlePasteSpecialDialog::GetDrawAspect

ユーザーが選択した項目をアイコンとして表示することを選択したかどうかを決定します。

DVASPECT GetDrawAspect() const;

戻り値

オブジェクトをレンダリングするために必要なメソッド。

  • DVASPECT_CONTENTダイアログ ボックスが閉じられたとき、[アイコンとして表示] チェック ボックスがオンでない場合に返されます。

  • DVASPECT_ICONダイアログ ボックスが閉じられたとき、[アイコンとして表示] チェック ボックスがオンになっている場合に返されます。

解説

この関数は、DoModal が IDOK を返した後でのみ呼び出します。

描画の側面の詳細については、Windows SDK の FORMATETC 構造体を参照してください。

COlePasteSpecialDialog::GetIconicMetafile

ユーザーが選択した項目に関連付けられているメタファイルを取得します。

HGLOBAL GetIconicMetafile() const;

戻り値

ダイアログ ボックスを閉じるときに [アイコンとして表示] チェック ボックスをオンにした場合は、選択した項目のアイコンの側面を含むメタファイルのハンドル OK。それ以外の場合は NULL。

COlePasteSpecialDialog::GetPasteIndex

ユーザーが選択したエントリに関連付けられているインデックス値を取得します。

int GetPasteIndex() const;

戻り値

ユーザーが選択した OLEUIPASTEENTRY 構造体の配列へのインデックス。 選択したインデックスに対応する形式は、貼り付け操作を実行するときに使用する必要があります。

解説

詳細については、Windows SDK の OLEUIPASTEENTRY 構造体を参照してください。

COlePasteSpecialDialog::GetSelectionType

ユーザーが行った選択の種類を決定します。

UINT GetSelectionType() const;

戻り値

選択範囲の種類を返します。

解説

戻り値は、COlePasteSpecialDialog クラスで宣言されたSelection列挙型によって指定されます。

enum Selection {
    pasteLink,
    pasteNormal,
    pasteOther,
    pasteStatic
    };

これらの値の簡単な説明は次のとおりです。

  • COlePasteSpecialDialog::pasteLink [リンクの貼り付け] ラジオ ボタンがオンで、選択した形式が標準の OLE 形式でした。

  • COlePasteSpecialDialog::pasteNormal [貼り付け] ラジオ ボタンがオンで、選択した形式が標準の OLE 形式でした。

  • COlePasteSpecialDialog::pasteOther 選択した書式が標準の OLE 形式ではありません。

  • COlePasteSpecialDialog::pasteStatic 選択した形式はメタファイルでした。

COlePasteSpecialDialog::m_ps

[貼り付け] ダイアログ ボックスの動作を制御するために使用される OLEUIPASTESPECIAL 型の構造。

OLEUIPASTESPECIAL m_ps;

解説

この構造体のメンバーは、直接またはメンバー関数を使用して変更できます。

詳細については、Windows SDK の OLEUIPASTESPECIAL 構造体を参照してください。

関連項目

MFC サンプル OCLIENT
COleDialog クラス
階層図
COleDialog クラス