ホーム › System.Mmc › IExtendPropertySheet2
IExtendPropertySheet2
COM公式ドキュメント
IExtendPropertySheet2 インターフェイスは MMC 1.1 で導入されました。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 5 HRESULT GetWatermarks(IDataObject* lpIDataObject, HBITMAP* lphWatermark, HBITMAP* lphHeader, HPALETTE* lphPalette, BOOL* bStretch)
IExtendPropertySheet2::GetWatermarks メソッドは、Wizard 97 スタイルのウィザードとして実装されたウィザードシート用のウォーターマークビットマップおよびヘッダービットマップを取得します。
| lpIDataObject | IDataObject* | in | スコープ項目または結果項目に関するコンテキスト情報を保持するオブジェクト上の IDataObject インターフェイスへのポインター。 |
| lphWatermark | HBITMAP* | out | Wizard 97 ページのウォーターマークとして使用されるビットマップのハンドルへのポインター。ビットマップのハンドルが NULL の場合、ウィザードにウォーターマークは表示されません。この値が NULL でない場合、互換性のため、スナップインはウォーターマークリソースの有効期間を管理する必要があります。スナップインはウォーターマークリソースの解放に責任を負います。 |
| lphHeader | HBITMAP* | out | Wizard 97 ページのヘッダーとして使用されるビットマップのハンドルへのポインター。ビットマップのハンドルが NULL の場合、ウィザードページのヘッダーにビットマップは表示されません。この値が NULL でない場合、互換性のため、スナップインはヘッダーリソースの有効期間を管理する必要があります。スナップインはヘッダーリソースの解放に責任を負います。 |
| lphPalette | HPALETTE* | out | lphWatermark および lphHeader で指定されたビットマップに使用すべきパレットのハンドルへのポインター。パレットは既定で NULL です。パレットが返されない場合、パレットは NULL になります。この値が NULL でない場合、互換性のため、スナップインはパレットリソースの有効期間を管理する必要があります。スナップインはパレットリソースの解放に責任を負います。 |
| bStretch | BOOL* | out | ウォーターマークビットマップおよびヘッダービットマップを、プロパティシートの背景領域またはヘッダー領域に合わせて、タイル表示ではなく引き伸ばすかどうかを指定する値。TRUE はウォーターマークビットマップおよびヘッダービットマップを引き伸ばすことを指定します。FALSE はウォーターマークビットマップおよびヘッダービットマップがサイズを維持してタイル表示されることを指定します。このパラメーターは既定で FALSE です。bStretch 値が返されない場合、bStretch は FALSE になります。 |
戻り値
このメソッドは、次の値のいずれかを返すことができます。
解説(Remarks)
MMC は、次の場合にのみこのメソッドを呼び出します。
- IPropertySheetProvider::CreatePropertySheet の type パラメーターが FALSE(ウィザードシート用)に設定され、かつ dwOptions パラメーターが MMC_PSO_NEWWIZARDTYPE(Wizard 97 スタイル用)に設定されている場合。
- スナップインが IPropertySheetProvider::AddPrimaryPages メソッドの呼び出しにおいて、その IComponentData または IComponent インターフェイスへのポインターを最初のパラメーターとして渡す場合。
画像の歪みを防ぐため、bStretch を FALSE に設定した状態で、ウォーターマークビットマップおよびヘッダービットマップは次の寸法(ピクセル単位)にすることが推奨されます。
| ビットマップ | 寸法 |
|---|---|
| lphWatermark | 164w x 628h |
| lphHeader | 49w x 49h |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IExtendPropertySheet2 "{B7A87232-4A51-11D1-A7EA-00C04FD909DD}" #usecom global IExtendPropertySheet2 IID_IExtendPropertySheet2 "{}" #comfunc global IExtendPropertySheet2_GetWatermarks 5 sptr,sptr,sptr,sptr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IExtendPropertySheet2 "{B7A87232-4A51-11D1-A7EA-00C04FD909DD}" #usecom global IExtendPropertySheet2 IID_IExtendPropertySheet2 "{}" #comfunc global IExtendPropertySheet2_GetWatermarks 5 sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。