OLEUIPASTESPECIALW 構造体 (oledlg.h)
OLE ユーザー インターフェイス ライブラリが [ 特殊な貼り付け ] ダイアログ ボックスを初期化するために使用する情報と、ダイアログ ボックスが閉じられたときにライブラリが情報を返すスペースを含みます。
構文
typedef struct tagOLEUIPASTESPECIALW {
DWORD cbStruct;
DWORD dwFlags;
HWND hWndOwner;
LPCWSTR lpszCaption;
LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData;
HINSTANCE hInstance;
LPCWSTR lpszTemplate;
HRSRC hResource;
LPDATAOBJECT lpSrcDataObj;
LPOLEUIPASTEENTRYW arrPasteEntries;
int cPasteEntries;
UINT *arrLinkTypes;
int cLinkTypes;
UINT cClsidExclude;
LPCLSID lpClsidExclude;
int nSelectedIndex;
BOOL fLink;
HGLOBAL hMetaPict;
SIZEL sizel;
} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
メンバー
cbStruct
この構造体のサイズ (バイト単位)。 このメンバーは入力時に入力する必要があります。
dwFlags
入力時に、 dwFlags は 初期化フラグと作成フラグを指定します。 終了時に、ユーザーの選択肢を指定します。 以下のフラグの組み合わせであってもよい。
値 | 意味 |
---|---|
|
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。 |
|
ダイアログ ボックスの起動時に、[ 貼り付け] ラジオ ボタンが選択されます。 これは、PSF_SELECTPASTEまたはPSF_SELECTPASTELINKが指定されていない場合の既定値です。 また、ダイアログ終了時のボタンの状態も指定します。 IN/OUT フラグ。 |
|
[ PasteLink] ラジオ ボタンは、ダイアログ ボックスの起動時に選択されます。 また、 は、ダイアログ終了時のボタンの状態を指定します。 IN/OUT フラグ。 |
|
ダイアログ ボックスの終了時に [ アイコンとして表示 ] ラジオ ボタンがオンになっているかどうか。 OUT フラグ。 |
|
[アイコンとして表示] チェックボックスは、初期化時に無効になります。 |
|
ダイアログ ボックスの変更アイコン ボタンを無効にするために使用します。これは、ユーザーが OLE オブジェクトを既定で貼り付けるときに使用できます。 それ以外の場合は 、「STAYONCLIPBOARDCHANGE 」を参照してください。 |
|
ダイアログ ボックスが起動している間にクリップボードが変更された場合に、ダイアログ ボックスを稼働状態に保つよう指示するために使用します。 ユーザーが別のアプリケーションに切り替えて何かをコピーまたは切り取った場合、ダイアログ ボックスは既定で取り消し操作を実行します。これにより、ユーザーに表示中のオプションがクリップボードの実際の内容に関して最新でなくなったため、ダイアログ ボックスが削除されます。 |
|
STAYONCLIPBOARDCHANGE と組み合わせて使用されます (それ以外の場合は何も行いません)。 ダイアログ ボックスの稼働中にクリップボードが変更され、 STAYONCLIPBOARDCHANGE が指定されている場合、 NOREFRESHDATAOBJECT は、クリップボードの新しい内容を反映するためにダイアログ ボックスの内容を更新しないことを示します。 これは、アプリケーションがクリップボード上のダイアログ ボックス以外の IDataObject の貼り付け専用ダイアログ ボックスを使用している場合に便利です。たとえば、右クリックのドラッグ アンド ドロップ操作の一部として使用します。 |
hWndOwner
ダイアログ ボックスを所有するウィンドウ。 このメンバーは NULL にしないでください。
lpszCaption
ダイアログ ボックスのタイトルとして使用する文字列へのポインター。 NULL の場合、ライブラリは Paste Special を使用します。
lpfnHook
ダイアログ ボックス用のメッセージを処理するフック関数へのポインター。 フック関数は、処理されなかったメッセージをライブラリのダイアログ ボックス プロシージャに渡すには、0 を返す必要があります。 フック関数は、ライブラリのダイアログ ボックス プロシージャが既に処理したメッセージを処理しないように、0 以外の値を返す必要があります。
lCustData
lpfnHook メンバーが指すフック関数にライブラリが渡すアプリケーション定義データ。 ライブラリは、WM_INITDIALOG メッセージの lParam パラメーターで OLEUIPASTESPECIAL 構造体へのポインターを渡します。このポインターを使用して、lCustData メンバーを取得できます。
hInstance
lpTemplateName メンバーによって指定されたダイアログ ボックス テンプレートを含むインスタンス。
lpszTemplate
ライブラリの [ 特殊な貼り付け] ダイアログ ボックス テンプレートの代わりに使用するダイアログ ボックス テンプレートのリソース ファイルの名前を指定する null で終わる文字列へのポインター。
hResource
カスタマイズされたテンプレート ハンドル。
lpSrcDataObj
貼り付けるデータ オブジェクトの IDataObject インターフェイスへのポインター (クリップボードから)。 このメンバーは入力時に入力されます。 OleUIPasteSpecial が呼び出されたときに lpSrcDataObj が NULL の場合、OleUIPasteSpecial はクリップボードから IDataObject へのポインターの取得を試みます。 OleUIPasteSpecial が成功した場合、lpSrcDataObj で返される IDataObject を解放するのは呼び出し元の責任です。
arrPasteEntries
許容される形式を指定する OLEUIPASTEENTRY 配列。 このメンバーは入力時に入力されます。
cPasteEntries
OLEUIPASTEENTRY 配列エントリの数。 このメンバーは入力時に入力されます。
arrLinkTypes
許容されるリンクの種類の一覧。 リンク型は、arrPasteEntries で OLEUIPASTEFLAG を使用して参照されます。 このメンバーは入力時に入力されます。
cLinkTypes
リンクの種類の数。 このメンバーは入力時に入力されます。
cClsidExclude
lpClsidExclude 内の CLSID の数。 このメンバーは入力時に入力されます。
lpClsidExclude
Paste 操作で使用可能なサーバー オブジェクトの一覧から除外する CLSID の配列へのポインター。 これは 、リンクの貼り付けには影響しません。 アプリケーションは、このリストに独自の CLSID を一覧表示することで、それ自体への埋め込みを防ぐことができます。 このフィールドは入力時に入力されます。
nSelectedIndex
ユーザーが選択 した arrPasteEntries のインデックス。 このメンバーは出力時に入力されます。
fLink
ユーザーが [貼り付け] または [リンクの貼り付け ] を選択したかどうか。 このメンバーは出力時に入力されます。
hMetaPict
ユーザーが選択したアイコンとアイコン タイトルを含むメタファイルを処理します。 このメンバーは出力時に入力されます。
sizel
ユーザーが選択した表示アスペクトがソースに表示されるアスペクトと一致する場合に、ソースに表示されるオブジェクトのサイズ。 ユーザーが別の側面を選択した場合、 sizel.cx と sizel.cy の両方が 0 に設定されます。 ソースに表示されるオブジェクトのサイズは、 fLink が FALSE の場合は ObjectDescriptor から取得され、 fLink が TRUE の場合は LinkSrcDescriptor から取得されます。 このメンバーは出力時に入力されます。
注釈
注意
oledlg.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして OLEUIPASTESPECIAL を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | oledlg.h |