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)
视区转换从视区坐标系转换为窗口客户端坐标系。 直接操作 会忽略窗口 RTL 属性,因此工作区源始终为左上角点。 转换按以下顺序应用:
  1. 视区矩形偏移量
  2. 视区 (从视区转换为客户端坐标系)
  3. 从客户端到屏幕坐标系) 的客户端到屏幕映射 (

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 directmanipulation.h

另请参阅

IDirectManipulationViewport