描述
GetPath函数检索定义线路端点的坐标和在选定到指定设备上下文中的路径中找到的曲线的控制点。
C++ 语法
int GetPath( __in HDC hdc, __out LPPOINT lpPoints, __out LPBYTE lpTypes, __in int nSize ); |
PowerBASIC 语法
FUNCTION GetPath ( _ BYVAL hdc AS DWORD, _ BYREF lpPoints AS POINT, _ BYREF lpTypes AS BYTE, _ BYVAL nSize AS LONG _ ) AS LONG |
参数
hdc
[in]处理包含封闭路径的设备上下文。
lpPoints
[out]指向以逻辑坐标接收线路端点和曲线控制点的POINT结构数组的指针。
lpTypes
[out]指向接收顶点类型的字节数组的指针。此参数可以是以下值之一。
类型 |
描述 |
PT_MOVETO |
指定lpPoints参数中的对应点启动不相交的数字。 |
PT_LINETO |
指定lpPoints中的上一个点和对应点是一行的端点。 |
PT_BEZIERTO |
Specifies that the corresponding point in lpPoints is a control point or ending point for a B鑪ier curve.
PT_BEZIERTO值始终以三组的形式出现。The point in the path immediately preceding them defines the starting point for the B鑪ier curve.前两个PT_BEZIERTO点是控制点,第三个PT_BEZIERTO点是结束(如果硬编码)点。 |
PT_LINETO或PT_BEZIERTO值可以与以下值组合(通过使用按位运算符OR)来指示对应点是图中的最后一个点,并且该图应该被关闭。
类型 |
描述 |
PT_CLOSEFIGURE |
指定lpPoints参数中的对应点启动不相交的数字。 |
nSize
[in]指定可由lpPoints指向的数组中存储的POINT结构的总数。该值必须与可以放置在lpTypes指向的数组中的字节数相同。
返回值
如果服务提供商参数非零,则返回值是枚举的点数。如果服务提供商为0,则返回值是路径中的总点数(GetPath不向缓冲区写入任何内容)。如果服务提供商非零,并且小于路径中的点数,则返回值为1。
Windows NT / 2000 / XP / Vista / Windows 7:GetLastError可能会返回以下错误代码之一:
ERROR_CAN_NOT_COMPLETE
ERROR_INVALID_PARAMETER
ERROR_BUFFER_OVERFLOW
备注
由hdc参数标识的设备上下文必须包含一个封闭的路径。
路径的点以逻辑坐标返回。点存储在设备坐标中的路径中,因此GetPath通过使用当前变换的倒数将点从设备坐标更改为逻辑坐标。
可以在GetPath之前调用FlattenPath函数将路径中的所有曲线转换为线段。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)