IOleControlSite::TransformCoords 方法 (ocidl.h)

将 OLE) 中的标准单位 (表示的 HIMETRIC 单位表示的坐标转换为容器指定的单位。

语法

HRESULT TransformCoords(
  [in, out] POINTL *pPtlHimetric,
  [in, out] POINTF *pPtfContainer,
  [in]      DWORD  dwFlags
);

parameters

[in, out] pPtlHimetric

包含以 HIMETRIC 单位表示的坐标的 POINTL 结构的地址。 当 dwFlags 包含XFORMCOORDS_HIMETRICTOCONTAINER时,这是一个 [in] 参数;它是具有 XFORMCOORDS_CONTAINERTOHIMETRIC 的 [out] 参数。 在后一种情况下,内容在错误时未定义。

[in, out] pPtfContainer

接收转换坐标的调用方分配的 POINTF 结构的地址。 当 dwFlags 包含XFORMCOORDS_CONTAINERTOHIMETRIC时,这是一个 [in] 参数;它是具有 XFORMCOORDS_HIMETRICTOCONTAINER 的 [out] 参数。 在后一种情况下,内容在错误时未定义。

[in] dwFlags

指示要执行的确切转换的标志。 此参数可以是以下值的任意组合,但如所示除外。

含义
XFORMCOORDS_POSITION
0x1
要转换的坐标表示位置点。 不能与 XFORMCOORDS_SIZE 一起使用。
XFORMCOORDS_SIZE
0x2
要转换的坐标表示一组维度。 不能与 XFORMCOORDS_POSITION 一起使用。
XFORMCOORDS_HIMETRICTOCONTAINER
0x4
该操作将 pptlHimetric 转换为 pptfContainer。 不能与 XFORMCOORDS_CONTAINERTOHIMETRIC 一起使用。
XFORMCOORDS_CONTAINERTOHIMETRIC
0x8
该操作将 pptfContainer 转换为 pptlHimetric。 不能与 XFORMCOORDS_HIMETRICTOCONTAINER 一起使用。
XFORMCOORDS_EVENTCOMPAT
0x10
该操作保持与事件的兼容性。

返回值

此方法可以返回E_INVALIDARG和E_UNEXPECTED的标准返回值,以及以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_NOTIMPL
容器不需要任何特殊的坐标转换。 容器在 HIMETRIC 中完全处理。
E_POINTER
pPtlHimetricpPtfContainer 中的地址无效。 例如,它可能为 NULL

注解

当控件必须向事件或其他自定义调用中的容器发送坐标,或者控件具有需要转换为 HIMETRIC 单位的容器坐标时,会使用此方法。

要求

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

请参阅

IOleControlSite