Метод CBaseWindow.SetPalette (Winutil.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод SetPalette
устанавливает палитру для окна.
Синтаксис
virtual HRESULT SetPalette(
HPALETTE hPalette
);
Параметры
-
hPalette
-
Дескриптор новой палитры. Не может иметь значение NULL.
Возвращаемое значение
Возвращает одно из значений HRESULT , показанных в следующей таблице.
Код возврата | Описание |
---|---|
|
Внутренний вызов GdiFlush вернул ошибку. |
|
Успешно. |
Комментарии
Если значение переменной-члена CBaseWindow::m_bNoRealize равно FALSE (по умолчанию), этот метод выбирает палитру и реализует ее. В противном случае она выбирает палитру, но не понимает ее. Объект не удаляет предыдущую палитру, которую он использовал. Вызывающий объект отвечает за удаление палитр.
Любой поток может безопасно вызвать этот метод, а не только поток, которому принадлежит окно. Окно отправляет себе личное сообщение, которое запускает вызов метода CBaseWindow::OnPaletteChange .
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|