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 |
---|---|
|
Set warna kosong atau objek tidak akan memberikan informasi. |
|
Tidak ada data presentasi untuk objek. |
|
Nilai tidak valid untuk lindex; saat ini hanya -1 yang didukung. |
|
Nilai tidak valid untuk dwAspect. |
|
Satu atau beberapa nilai parameter yang disediakan tidak valid. |
|
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 |