SetSystemPaletteUse 函式 (wingdi.h)
SetSystemPaletteUse函式可讓應用程式指定系統調色盤是否包含 2 或 20 個靜態色彩。 預設系統調色盤包含 20 種靜態色彩。 (當應用程式實現邏輯調色盤時,無法變更靜態色彩。)
語法
UINT SetSystemPaletteUse(
[in] HDC hdc,
[in] UINT use
);
參數
[in] hdc
裝置內容的控制碼。 此裝置內容必須參考支援調色盤的裝置。
[in] use
系統調色盤的新用法。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
系統調色盤包含兩種靜態色彩, (黑白) 。 |
|
系統調色盤不包含靜態色彩。 |
|
系統調色盤包含靜態色彩,當應用程式實現其邏輯調色盤時,將不會變更。 |
傳回值
如果函式成功,則傳回值為先前的系統選擇區。 它可以是SYSPAL_NOSTATIC、SYSPAL_NOSTATIC256或SYSPAL_STATIC。
如果函式失敗,傳回值會SYSPAL_ERROR。
備註
應用程式可以呼叫 GetDeviceCaps 函式並指定 RASTERCAPS 常數,來判斷裝置是否支援調色盤作業。
當應用程式視窗移至前景並設定SYSPAL_NOSTATIC值時,應用程式必須呼叫 GetSysColor 函式來儲存目前的系統色彩設定。 它也必須呼叫 SetSysColors ,只使用黑白來設定合理的值。 當應用程式返回背景或終止時,必須還原先前的系統色彩。
如果函式傳回SYSPAL_ERROR,則指定的裝置內容無效或不支援調色盤。
應用程式只有在視窗最大化且具有輸入焦點時,才必須呼叫此函式。
如果應用程式呼叫 SetSystemPaletteUse 並將 uUsage 設定為 SYSPAL_NOSTATIC,系統會繼續在系統調色盤中分別針對純白色和純黑色設定兩個專案。
呼叫此函式並將 uUsage 設定為 SYSPAL_NOSTATIC 之後,應用程式必須採取下列步驟:
- 瞭解邏輯調色盤。
- 呼叫 GetSysColor 函式以儲存目前的系統色彩設定。
- 呼叫 SetSysColors 函 式,以使用黑白將系統色彩設定為合理的值。 例如,相鄰或重迭的專案 (,例如視窗框架和框線) 應該分別設定為黑白。
- 將 WM_SYSCOLORCHANGE 訊息傳送至其他最上層視窗,以允許重新繪製新的系統色彩。
- 呼叫 SetSystemPaletteUse ,並將 uUsage 參數設定為 SYSPAL_STATIC。
- 瞭解邏輯調色盤。
- 將系統色彩還原為其先前的值。
- 傳送 WM_SYSCOLORCHANGE 訊息。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |