次の方法で共有


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 の
ダイアログ ボックスの稼働中にクリップボードが変更された場合に、ダイアログ ボックスを稼働状態に保つよう指定するために使用します。 ユーザーが別のアプリケーションに切り替えて何かをコピーまたは切り取った場合、ダイアログ ボックスは既定で取り消し操作を実行します。これは、ユーザーに表示中のオプションがクリップボードに実際に表示される内容に関して -date up-toされなくなったため、ダイアログ ボックスを削除します。
NOREFRESHDATAOBJECT の
STAYONCLIPBOARDCHANGE と組み合わせて使用されます (それ以外の場合は何もしません)。 ダイアログ ボックスが稼働中にクリップボードが変更され、STAYONCLIPBOARDCHANGE が指定 場合、NOREFRESHDATAOBJECT は、クリップボードの新しい内容を反映するためにダイアログ ボックスの内容を更新しないことを示します。 これは、アプリケーションが、たとえば右クリックのドラッグ アンド ドロップ操作の一部として、クリップボードの他に IDataObject の [貼り付け] 特別なダイアログ ボックスを使用している場合に便利です。

hWndOwner

ダイアログ ボックスを所有するウィンドウ。 このメンバーは NULLしないでください。

lpszCaption

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

lpfnHook

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

lCustData

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

hInstance

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

lpszTemplate

ライブラリの Paste Special ダイアログ ボックス テンプレートに置き換えるダイアログ ボックス テンプレートのリソース ファイルの名前を指定する null で終わる文字列へのポインター。

hResource

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

lpSrcDataObj

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

arrPasteEntries

使用可能な形式を指定する OLEUIPASTEENTRY 配列。 このメンバーは入力時に入力されます。

cPasteEntries

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

arrLinkTypes

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

cLinkTypes

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

cClsidExclude

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

lpClsidExclude

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

nSelectedIndex

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

fLink

貼り付け または リンクの貼り付け がユーザーによって選択されました。 このメンバーは出力時に入力されます。

hMetaPict

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

sizel

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

備考

手記

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

必要条件

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

関連項目

OLEUIPASTEENTRY の

OLEUIPASTEFLAG の

OleUIPasteSpecial