Bagikan melalui


Fungsi SetSystemPaletteUse (wingdi.h)

Fungsi SetSystemPaletteUse memungkinkan aplikasi menentukan apakah palet sistem berisi 2 atau 20 warna statis. Palet sistem default berisi 20 warna statis. (Warna statis tidak dapat diubah ketika aplikasi menyadari palet logis.)

Sintaks

UINT SetSystemPaletteUse(
  [in] HDC  hdc,
  [in] UINT use
);

Parameter

[in] hdc

Handel ke konteks perangkat. Konteks perangkat ini harus merujuk ke perangkat yang mendukung palet warna.

[in] use

Penggunaan baru palet sistem. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
SYSPAL_NOSTATIC
Palet sistem berisi dua warna statis (hitam dan putih).
SYSPAL_NOSTATIC256
Palet sistem tidak berisi warna statis.
SYSPAL_STATIC
Palet sistem berisi warna statis yang tidak akan berubah ketika aplikasi menyadari palet logisnya.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah palet sistem sebelumnya. Ini bisa berupa SYSPAL_NOSTATIC, SYSPAL_NOSTATIC256, atau SYSPAL_STATIC.

Jika fungsi gagal, nilai yang dikembalikan adalah SYSPAL_ERROR.

Keterangan

Aplikasi dapat menentukan apakah perangkat mendukung operasi palet dengan memanggil fungsi GetDeviceCaps dan menentukan konstanta RASTERCAPS.

Ketika jendela aplikasi berpindah ke latar depan dan nilai SYSPAL_NOSTATIC diatur, aplikasi harus memanggil fungsi GetSysColor untuk menyimpan pengaturan warna sistem saat ini. Ini juga harus memanggil SetSysColors untuk mengatur nilai yang wajar hanya menggunakan hitam dan putih. Ketika aplikasi kembali ke latar belakang atau berakhir, warna sistem sebelumnya harus dipulihkan.

Jika fungsi mengembalikan SYSPAL_ERROR, konteks perangkat yang ditentukan tidak valid atau tidak mendukung palet warna.

Aplikasi harus memanggil fungsi ini hanya ketika jendelanya dimaksimalkan dan memiliki fokus input.

Jika aplikasi memanggil SetSystemPaletteUse dengan uUsage diatur ke SYSPAL_NOSTATIC, sistem terus menyisihkan dua entri dalam palet sistem untuk putih murni dan hitam murni, masing-masing.

Setelah memanggil fungsi ini dengan uUsage diatur ke SYSPAL_NOSTATIC, aplikasi harus mengambil langkah-langkah berikut:

  1. Mewujudkan palet logis.
  2. Panggil fungsi GetSysColor untuk menyimpan pengaturan warna sistem saat ini.
  3. Panggil fungsi SetSysColors untuk mengatur warna sistem ke nilai yang wajar menggunakan hitam dan putih. Misalnya, item yang berdekatan atau tumpang tindih (seperti bingkai jendela dan batas) masing-masing harus diatur ke hitam dan putih.
  4. Kirim pesan WM_SYSCOLORCHANGE ke jendela tingkat atas lainnya untuk memungkinkan mereka digambar ulang dengan warna sistem baru.
Ketika jendela aplikasi kehilangan fokus atau menutup, aplikasi harus melakukan langkah-langkah berikut:
  1. Panggil SetSystemPaletteUse dengan parameter uUsage diatur ke SYSPAL_STATIC.
  2. Mewujudkan palet logis.
  3. Pulihkan warna sistem ke nilai sebelumnya.
  4. Kirim pesan WM_SYSCOLORCHANGE .

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wingdi.h (sertakan Windows.h)
Pustaka Gdi32.lib
DLL Gdi32.dll

Lihat juga

Fungsi Warna

Gambaran Umum Warna

GetDeviceCaps

GetSysColor

GetSystemPaletteUse

SetSysColors