Функция UpdateLayeredWindow

[in] Манипулатор на многослоен прозорец. Слоест прозорец се създава чрез задаване на флагаWS_EX_LAYEREDпри създаване на прозорец с функциятаCreateWindowEx.

АкоhdcSrcе NULL, тогаваhdcDstсъщо трябва да е NULL.

[in] Указател към структураPOINT, която задава новата позиция на екрана на наслоения прозорец. Ако текущата позиция не се промени, параметърътpptDstможе да бъде NULL.

[in] Указател към структураSIZE, която задава новия размер на наслоения прозорец. Ако размерът на прозореца не се промени, параметърътpsizeможе да бъде NULL. АкоhdcSrcе NULL, параметърpsizeтрябва да е NULL.

[in]DCманипулатор към равнината, която дефинира наслоения прозорец. Този манипулатор може да бъде получен чрез извикване на функциятаCreateCompatibleDC. Ако формата и визуалният контекст на прозореца не се променят,hdcSrcможе да бъде NULL.

[in] Указател към структураPOINT, която задава местоположението на слоя в контекста на устройството. АкоhdcSrcе NULL, параметърpptSrcсъщо трябва да е NULL.

[in] Указател към стойностCOLORREF, която задава цвета на ключа, който да се използва при създаване на многослоен прозорец. За да създадетеCOLORREF, използвайте макросаRGB.

[in] Указател към структураBLENDFUNCTION, която задава стойността на прозрачност, която да се използва при създаване на многослоен прозорец.

[in] Този параметър може да бъде една от следните стойности.

Значение

Съдба

ULW_ALPHA

Използва параметъраpblendкато функция за преход. Ако режимът на показване е 256 цвята или по-малко, тази стойност има същия ефект като флагаULW_OPAQUE.

ULW_COLORKEY

Използва параметъраcrKeyкато цвят на прозрачност.

ULW_OPAQUE

Рисува наслоен непрозрачен прозорец.

Ако параметърhdcSrcе NULL, параметърdwFlagsсъщо трябва да е NULL.

Ако функцията е успешна, върнатата стойност не е нула.

Ако функцията не успее, върнатата стойност е нула. За да получите разширени данни за грешка, извикайтеGetLastError.

Приложението трябва да извика функциятаSetLayoutс контекста на устройствотоhdcSrc, за да зададе правилно режима на дублиране. ФункциятаSetLayoutще отразява правилно всички чертежи в рамките наHDC, стига текстовият глиф и (по избор) редът на ориентация на растерното изображение да са запазени правилно. Не може да промени чертежа директно в битове в независимо от устройството растерно изображение (DIB). За повече информация вижте статияОформление и отразяване на прозорец.

ФункциятаUpdateLayeredWindowзапазва външния вид на прозореца на екрана. Прозорците под многослоен прозорец не е необходимо да бъдат преначертавани, когато са разширени в резултат на извикването на функциятаUpdateLayeredWindow, защото системата автоматично ще ги преначертае. Това позволява пълна анимация на многослоен прозорец.

ФункциятаUpdateLayeredWindowвинаги се актуализирапрозорец напълно. За да промените част от прозорец, използвайте традиционното съобщениеWM_PAINTи задайте стойността на прехода с помощта на функциятаSetLayeredWindowAttributes.

За най-добра ефективност на изобразяване на многослойни прозорци и всички прозорци под тях, многослойният прозорец трябва да е възможно най-малък. Приложението трябва също така да обработи съобщението и да пресъздаде наслоените му прозорци, когато битовата дълбочина на цвета на дисплея се промени.

За повече информация вижте статияМногослойни прозорци.