共用方式為


CBaseWindow.SetPalette 方法 (Winutil.h)

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

方法 SetPalette 會安裝視窗的調色盤。

語法

virtual HRESULT SetPalette(
   HPALETTE hPalette
);

參數

hPalette

新調色盤的控制碼。 不可以是 Null

傳回值

傳回下表所示的其中一個 HRESULT 值。

傳回碼 Description
S_FALSE
GdiFlush的內部呼叫傳回錯誤。
S_OK
成功。

備註

如果 CBaseWindow::m_bNoRealize 成員變數的值是 FALSE , (預設) ,這個方法會選取調色盤並實現它。 否則,它會選取調色盤,但不了解。 物件不會刪除它正在使用的任何先前調色盤。 呼叫端負責刪除調色盤。

任何執行緒都可以安全地呼叫這個方法,而不只是擁有視窗的執行緒。 視窗會將私人訊息傳送給本身,這會觸發 對 CBaseWindow::OnPaletteChange 方法的呼叫。

規格需求

需求
標頭
Winutil.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CBaseWindow 類別