Bagikan melalui


Metode IViewObject::GetColorSet (oleidl.h)

Mengembalikan palet logis yang akan digunakan objek untuk menggambar dalam metode IViewObject::D raw dengan parameter yang sesuai.

Sintaks

HRESULT GetColorSet(
  [in]  DWORD          dwDrawAspect,
  [in]  LONG           lindex,
  [in]  void           *pvAspect,
  [in]  DVTARGETDEVICE *ptd,
  [in]  HDC            hicTargetDev,
  [out] LOGPALETTE     **ppColorSet
);

Parameter

[in] dwDrawAspect

Menentukan bagaimana objek akan diwakili. Representasi mencakup konten, ikon, gambar mini, atau dokumen yang dicetak. Nilai yang valid diambil dari DVASPECT enumerasi. Lihat enumerasi DVASPECT untuk informasi selengkapnya.

[in] lindex

Bagian dari objek yang menarik untuk operasi gambar. Interpretasinya bervariasi menurut dwDrawAspect. Lihat enumerasi DVASPECT untuk informasi selengkapnya.

[in] pvAspect

Arahkan ke informasi tambahan tentang tampilan objek yang ditentukan dalam dwDrawAspect. Karena tidak ada aspek saat ini yang mendukung informasi tambahan, pvAspect harus selalu NULL.

[in] ptd

Arahkan ke struktur DVTARGETDEVICE yang menjelaskan perangkat yang objeknya akan dirender. Jika NULL, tampilan harus dirender untuk perangkat target default (biasanya tampilan). Nilai selain NULL ditafsirkan bersama dengan hicTargetDev dan hdcDraw. Misalnya, jika hdcDraw menentukan printer sebagai konteks perangkat, ptd menunjuk ke struktur yang menjelaskan perangkat printer tersebut. Data sebenarnya dapat dicetak jika hicTargetDev adalah nilai yang valid atau mungkin ditampilkan dalam mode pratinjau cetak jika hicTargetDevADALAH NULL.

[in] hicTargetDev

Konteks informasi untuk perangkat target yang ditunjukkan oleh parameter ptd tempat objek dapat mengekstrak metrik perangkat dan menguji kemampuan perangkat. Jika ptdadalah NULL, objek harus mengabaikan parameter hicTargetDev .

[out] ppColorSet

Alamat variabel penunjuk LOGPALETTE yang menerima penunjuk ke struktur LOGPALETTE. Struktur LOGPALETTE berisi set warna yang akan digunakan jika IViewObject::D raw dipanggil dengan parameter yang sama untuk dwAspect, lindex, pvAspect, ptd, dan hicTargetDev. Jika ppColorSetNULL, objek tidak menggunakan palet.

Nilai kembali

Metode ini mengembalikan S_OK pada keberhasilan. Kemungkinan nilai pengembalian lainnya termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_FALSE
Set warna kosong atau objek tidak akan memberikan informasi.
OLE_E_BLANK
Tidak ada data presentasi untuk objek.
DV_E_LINDEX
Nilai tidak valid untuk lindex; saat ini hanya -1 yang didukung.
DV_E_DVASPECT
Nilai tidak valid untuk dwAspect.
E_INVALIDARG
Satu atau beberapa nilai parameter yang disediakan tidak valid.
E_OUTOFMEMORY
Tidak tersedia cukup memori untuk operasi ini.

Keterangan

Metode IViewObject::GetColorSet secara rekursif meminta objek berlapis dan mengembalikan set warna yang mewakili penyatuan semua warna yang diminta. Set warna akhirnya berkaitan dengan kontainer tingkat atas yang memiliki bingkai jendela. Kontainer ini dapat memanggil IViewObject::GetColorSet pada setiap objek yang disematkan untuk mendapatkan semua warna yang diperlukan untuk menggambar objek yang disematkan. Kontainer dapat menggunakan set warna yang diperoleh bersama dengan warna lain yang dibutuhkannya sendiri untuk mengatur palet warna keseluruhan.

Implementasi IViewObject::GetColorSet yang disediakan OLE melihat data yang ada di tangannya untuk menggambar gambar. Jika CF_DIB adalah format gambar, palet yang ditemukan di bitmap digunakan. Untuk bitmap biasa, tidak ada informasi warna yang dikembalikan. Jika format gambar adalah metafile, handler objek menghitung metafile mencari rekaman metafile CreatePalette. Jika ditemukan, handler akan menggunakannya sebagai set warna.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header oleidl.h

Lihat juga

DVASPECT

IViewObject