IViewObject::GetColorSet メソッド (oleidl.h)
オブジェクトが対応するパラメーターを持つ IViewObject::D raw メソッドで描画するために使用する論理パレットを返します。
構文
HRESULT GetColorSet(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[in] DVTARGETDEVICE *ptd,
[in] HDC hicTargetDev,
[out] LOGPALETTE **ppColorSet
);
パラメーター
[in] dwDrawAspect
オブジェクトがどのように表示されるかを指定します。 表現には、コンテンツ、アイコン、サムネイル、または印刷されたドキュメントが含まれます。 有効な値は、列挙 DVASPECT から取得されます。 詳細については、 DVASPECT 列挙を参照してください。
[in] lindex
描画操作の対象となるオブジェクトの一部分。 その解釈は dwDrawAspect によって異なります。 詳細については、 DVASPECT 列挙を参照してください。
[in] pvAspect
dwDrawAspect で指定されたオブジェクトのビューに関する追加情報へのポインター。 現在のいずれの側面も追加情報をサポートしていないため、 pvAspect は常に NULL である必要があります。
[in] ptd
オブジェクトがレンダリングされるデバイスを記述する DVTARGETDEVICE 構造体へのポインター。 NULL の場合は、既定のターゲット デバイス (通常は表示) に対してビューをレンダリングする必要があります。 NULL 以外の値は、hicTargetDev および hdcDraw と組み合わせて解釈されます。 たとえば、 hdcDraw で プリンターがデバイス コンテキストとして指定されている場合、ptd はそのプリンター デバイスを記述する構造体を指します。 hicTargetDev が有効な値である場合は、データが実際に印刷される場合があります。また、hicTargetDev が NULL の場合は印刷プレビュー モードで表示される場合があります。
[in] hicTargetDev
オブジェクトがデバイス メトリックを抽出し、デバイスの機能をテストできる ptd パラメーターによって示されるターゲット デバイスの情報コンテキスト。 ptd が NULL の場合、オブジェクトは hicTargetDev パラメーターを無視する必要があります。
[out] ppColorSet
LOGPALETTE 構造体へのポインターを受け取る LOGPALETTE ポインター変数のアドレス。 LOGPALETTE 構造体には、 iViewObject::D raw が dwAspect、 lindex、 pvAspect、 ptd、 hicTargetDev と同じパラメーターで呼び出された場合に使用される一連の色が含まれています。 ppColorSet が NULL の場合、オブジェクトはパレットを使用しません。
戻り値
このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
一連の色が空であるか、オブジェクトが情報を提供しません。 |
|
オブジェクトのプレゼンテーション データはありません。 |
|
lindex の値が無効です。現在、-1 のみがサポートされています。 |
|
dwAspect の値が無効です。 |
|
指定されたパラメーター値の 1 つ以上が無効です。 |
|
この操作で使用できるメモリが不足しています。 |
注釈
IViewObject::GetColorSet メソッドは、入れ子になったオブジェクトを再帰的に照会し、要求されたすべての色の和集合を表すカラー セットを返します。 最終的に設定された色は、ウィンドウ フレームを所有する最上位のコンテナーに表示されます。 このコンテナーは、埋め込みオブジェクトごとに IViewObject::GetColorSet を呼び出して、埋め込みオブジェクトを描画するために必要なすべての色を取得できます。 コンテナーは、それ自体がカラー パレット全体を設定するために必要な他の色と組み合わせて取得されたカラー セットを使用できます。
OLE で提供される IViewObject::GetColorSet の実装では、手元にあるデータを見て図を描画します。 CF_DIBが描画形式の場合は、ビットマップ内のパレットが使用されます。 通常のビットマップの場合、色情報は返されません。 描画形式がメタファイルの場合、オブジェクト ハンドラーは CreatePalette メタファイル レコードを探してメタファイルを列挙します。 見つかった場合、ハンドラーはそれをカラー セットとして使用します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oleidl.h |