OLEUIPASTESPECIALA 構造体 (oledlg.h)

OLE ユーザー インターフェイス ライブラリが [ 形式を選択して貼り付け ] ダイアログ ボックスを初期化するために使用する情報と、ダイアログ ボックスが閉じられたときにライブラリが情報を返す領域が含まれます。

構文

typedef struct tagOLEUIPASTESPECIALA {
  DWORD              cbStruct;
  DWORD              dwFlags;
  HWND               hWndOwner;
  LPCSTR             lpszCaption;
  LPFNOLEUIHOOK      lpfnHook;
  LPARAM             lCustData;
  HINSTANCE          hInstance;
  LPCSTR             lpszTemplate;
  HRSRC              hResource;
  LPDATAOBJECT       lpSrcDataObj;
  LPOLEUIPASTEENTRYA arrPasteEntries;
  int                cPasteEntries;
  UINT               *arrLinkTypes;
  int                cLinkTypes;
  UINT               cClsidExclude;
  LPCLSID            lpClsidExclude;
  int                nSelectedIndex;
  BOOL               fLink;
  HGLOBAL            hMetaPict;
  SIZEL              sizel;
} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;

メンバー

cbStruct

この構造体のサイズ (バイト単位)。 このメンバーは入力時に入力する必要があります。

dwFlags

入力時に、 dwFlags は 初期化フラグと作成フラグを指定します。 終了時に、ユーザーの選択肢を指定します。 以下のフラグの組み合わせであってもよい。

意味
PSF_SHOWHELP
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。
PSF_SELECTPASTE
[ 貼り付け] ラジオ ボタンは、ダイアログ ボックスの起動時に選択されます。 PSF_SELECTPASTEまたはPSF_SELECTPASTELINKが指定されていない場合は、これが既定値です。 また、ダイアログ終了時のボタンの状態も指定します。 IN/OUT フラグ。
PSF_SELECTPASTELINK
[ PasteLink] ラジオ ボタンは、ダイアログ ボックスの起動時に選択されます。 また、ダイアログ終了時のボタンの状態を指定します。 IN/OUT フラグ。
PSF_CHECKDISPLAYASICON
ダイアログ ボックスの終了時に [ アイコンとして表示 ] ラジオ ボタンがオンになっているかどうか。 OUT フラグ。
PSF_DISABLEDISPLAYASICON
[アイコンとして表示] チェック ボックスは、初期化時に無効になります。
HIDECHANGEICON
ダイアログ ボックスの変更アイコン ボタンを無効にするために使用します。これは、ユーザーが OLE オブジェクトを既定で貼り付けるときに使用できます。 それ以外の場合は 、「STAYONCLIPBOARDCHANGE 」を参照してください。
STAYONCLIPBOARDCHANGE
ダイアログ ボックスが起動している間にクリップボードが変更された場合に、ダイアログ ボックスが稼働し続けるよう指示するために使用します。 ユーザーが別のアプリケーションに切り替えて何かをコピーまたは切り取った場合、ダイアログ ボックスは既定でキャンセル操作を実行します。これにより、ユーザーに表示中のオプションがクリップボードの実際の内容に関して最新でなくなったため、ダイアログ ボックスが削除されます。
NOREFRESHDATAOBJECT
STAYONCLIPBOARDCHANGE と組み合わせて使用されます (それ以外の場合は何も行いません)。 ダイアログ ボックスが稼働中にクリップボードが変更され、 STAYONCLIPBOARDCHANGE が指定されている場合、 NOREFRESHDATAOBJECT は、クリップボードの新しい内容を反映するためにダイアログ ボックスの内容を更新しないことを示します。 これは、アプリケーションで、たとえば右クリックのドラッグ アンド ドロップ操作の一部として、クリップボード以外の IDataObject の paste-special ダイアログ ボックスを使用している場合に便利です。

hWndOwner

ダイアログ ボックスを所有するウィンドウ。 このメンバーは NULL にすることはできません。

lpszCaption

ダイアログ ボックスのタイトルとして使用する文字列へのポインター。 NULL の場合、ライブラリは Paste Special を使用します

lpfnHook

ダイアログ ボックス用のメッセージを処理するフック関数へのポインター。 フック関数は、処理されなかったというメッセージをライブラリのダイアログ ボックス プロシージャに渡すには、0 を返す必要があります。 フック関数は、ライブラリのダイアログ ボックス プロシージャが既に処理したメッセージを処理できないように、0 以外の値を返す必要があります。

lCustData

ライブラリが lpfnHook メンバーが指すフック関数に渡すアプリケーション定義データ。 ライブラリは、WM_INITDIALOG メッセージの lParam パラメーターで OLEUIPASTESPECIAL 構造体へのポインターを渡します。このポインターを使用して、lCustData メンバーを取得できます。

hInstance

lpTemplateName メンバーによって指定されたダイアログ ボックス テンプレートを含むインスタンス。

lpszTemplate

ライブラリの [ 形式を選択して貼り付け ] ダイアログ ボックス テンプレートに置き換えるダイアログ ボックス テンプレートのリソース ファイルの名前を指定する、null で終わる文字列へのポインター。

hResource

カスタマイズされたテンプレート ハンドル。

lpSrcDataObj

貼り付けるデータ オブジェクトの IDataObject インターフェイスへのポインター (クリップボードから)。 このメンバーは入力時に入力されます。 OleUIPasteSpecial が呼び出されたときに lpSrcDataObjNULL の場合、OleUIPasteSpecial はクリップボードから IDataObject へのポインターの取得を試みます。 OleUIPasteSpecial が成功した場合、lpSrcDataObj で返される IDataObject を解放するのは呼び出し元の責任です。

arrPasteEntries

許容される形式を指定する OLEUIPASTEENTRY 配列。 このメンバーは入力時に入力されます。

cPasteEntries

OLEUIPASTEENTRY 配列エントリの数。 このメンバーは入力時に入力されます。

arrLinkTypes

許容されるリンクの種類の一覧。 リンク型は、arrPasteEntriesOLEUIPASTEFLAG を使用して参照されます。 このメンバーは入力時に入力されます。

cLinkTypes

リンクの種類の数。 このメンバーは入力時に入力されます。

cClsidExclude

lpClsidExclude 内の CLSID の数。 このメンバーは入力時に入力されます。

lpClsidExclude

貼り付け操作で使用可能なサーバー オブジェクトの一覧から除外する CLSID の配列へのポインター。 これは リンクの貼り付けには影響しません。 アプリケーションは、このリストに独自の CLSID を一覧表示することで、それ自体への埋め込みを防ぐことができます。 このフィールドは入力時に入力されます。

nSelectedIndex

ユーザーが選択 した arrPasteEntries のインデックス。 このメンバーは出力時に入力されます。

fLink

ユーザーが [貼り付け] または [リンクの貼り付け ] を選択したかどうか。 このメンバーは出力時に入力されます。

hMetaPict

ユーザーが選択したアイコンとアイコン タイトルを含むメタファイルを処理します。 このメンバーは出力時に入力されます。

sizel

ユーザーが選択した表示アスペクトがソースに表示されるアスペクトと一致する場合に、ソースに表示されるオブジェクトのサイズ。 ユーザーが別の側面を選択した場合、 sizel.cxsizel.cy の両方が 0 に設定されます。 ソースに表示されるオブジェクトのサイズは、 fLinkFALSE の場合は ObjectDescriptor から取得され、 fLinkTRUE の場合は LinkSrcDescriptor から取得されます。 このメンバーは出力時に入力されます。

注釈

注意

oledlg.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして OLEUIPASTESPECIAL を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header oledlg.h

こちらもご覧ください

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial