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


Метод IDirectManipulationViewport::SetViewportTransform (directmanipulation.h)

Указывает преобразование из системы координат окна представления в клиентную систему координат окон.

Синтаксис

HRESULT SetViewportTransform(
  [in] const float *matrix,
  [in] DWORD       pointCount
);

Параметры

[in] matrix

Матрица преобразования в последовательном порядке: _11, _12, _21, _22, _31, _32.

[in] pointCount

Размер матрицы преобразования. Это значение всегда равно 6, так как матрица 3x2 используется для всех преобразований прямых манипуляций.

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

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

Комментарии

Вызовите эту функцию, чтобы указать положение окна просмотра, масштабирование и ориентацию на экране. Положение окна просмотра, масштабирование, ориентация и размер уникально определяются преобразованием окна просмотра и прямоугольником окна просмотра. Приложение может указать преобразование окна просмотра с помощью этого метода, а прямоугольник окна просмотра — с помощью SetViewportRect.

Прямоугольник окна просмотра (прямоугольная область внутри содержимого, видимого пользователю) указывается в координатах окна просмотра. Если верхняя левая точка прямоугольника окна просмотра имеет значение (0,0), прямоугольник окна просмотра располагается точно в источнике системы координат окна просмотра. Смещение окна просмотра от источника системы координат окна просмотра можно указать двумя способами:

  • Через прямоугольник окна просмотра в верхней левой точке
  • Через компонент преобразования окна просмотра (_31, _32)
Преобразование окна просмотра преобразуется из системы координат окна представления в клиентную систему координат окна. Direct Manipulation игнорирует свойство RTL окна, поэтому источником клиентской области всегда является верхняя левая точка. Преобразования применяются в следующем порядке:
  1. Смещение прямоугольника окна просмотра
  2. Преобразование окна просмотра (от окна просмотра к клиентской системе координат)
  3. Сопоставление клиента с экраном (от клиента к системе координат экрана)

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header directmanipulation.h

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

IDirectManipulationViewport