Поделиться через


Метод IDCompositionVisual::SetTransform(IDCompositionTransform*) (dcomp.h)

Задает для свойства Transform этого визуального элемента указанный объект преобразования 2D.

Синтаксис

HRESULT SetTransform(
  [in, optional] IDCompositionTransform *transform
);

Параметры

[in, optional] transform

Тип: IDCompositionTransform*

Объект преобразования, используемый для изменения системы координат этого визуального элемента. Этот параметр может указывать на интерфейс IDCompositionTransform или один из его производных интерфейсов. Этот параметр может принимать значение NULL.

Возвращаемое значение

Тип: HRESULT

Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .

Комментарии

Задание свойства Transform преобразует систему координат всего поддеревья визуального элемента, которое коренится в этом визуальном элементе. Если задано свойство Клип этого визуального элемента, прямоугольник клипа также преобразуется.

Если свойство Transform ранее указывало матрицу преобразования, то только что указанный объект преобразования заменяет матрицу преобразования.

Преобразование, указанное свойством Transform, применяется после свойств OffsetX и OffsetY. Другими словами, установка свойства Transform и свойств OffsetX и OffsetY аналогична установке только свойства Transform в группе преобразования, где первым членом группы является объект IDCompositionTranslateTranslateTransform с теми же значениями OffsetX и OffsetY. Однако по возможности следует использовать методы IDCompositionVisual::SetOffsetX и SetOffsetY , так как они немного быстрее.

Этот метод завершается ошибкой, если преобразование является недопустимым указателем или если оно не было создано тем же интерфейсом IDCompositionDevice , который создал этот визуальный элемент. Интерфейс не может быть пользовательской реализацией; С этим методом можно использовать только интерфейсы, созданные Microsoft DirectComposition.

Если параметр преобразования имеет значение NULL, система координат этого визуального элемента преобразуется только с помощью его свойств OffsetX и OffsetY. Присвоение свойству Transform значения NULL эквивалентно присвоению ему объекта IDCompositionMatrixTransform , где указанная матрица является матрицей удостоверений. Однако приложение должно по возможности задать для свойства Transform значение NULL, так как оно выполняется немного быстрее.

Если свойства OffsetX и OffsetY имеют значение 0, а для свойства Transform задано значение NULL, система координат визуального элемента совпадает с системой координат его родительского элемента.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header dcomp.h
Библиотека Dcomp.lib
DLL Dcomp.dll

См. также раздел

IDCompositionMatrixTransform

IDCompositionRotateTransform

IDCompositionScaleTransform

IDCompositionSkewTransform

IDCompositionTransform

IDCompositionTranslateTransform

IDCompositionVisual

IDCompositionVisual::SetOffsetX

IDCompositionVisual::SetOffsetY