[Windows编程基本概念之Point、Size]
作者:Tocy 时间:2014-09-20
- Point相关概念
在二维坐标系统中,标记一个点需要两个数据就可以。通常在正交坐标系中,只要给出某个点相对坐标原点的偏移(两个方向)即可唯一确定一个点。
Point在windows中定义如下:
typedef struct tagPOINT {
LONG x;
LONG y;
} POINT;
在Windows屏幕坐标系统中,坐标原点O(0,0)在屏幕左上角,x轴正方向为从左到右,y轴正方向为从上到下。上面POINT定义中的x表示x方向偏移,通常称为横向偏移(Horizontal offset),y表示y方向偏移,通常称为纵向偏移(Vertical offset)。
实际编程中可以直接使用POINT结构体,或者自定义两个整型变量替代。
在MFC中建议使用CPoint,用法参考如下链接,http://msdn.microsoft.com/zh-cn/library/t792xy69(v=vs.120).aspx。CPoint提供了构造函数、Offset偏移函数,并重载了+、-、+=、-=、==、!=的运算符,在一定程度上可以简化使用。
- Size相关概念
Size主要用于表示矩形区域的长宽。在Windows中定义如下:
typedef struct tagSIZE {
LONG cx;
LONG cy;
} SIZE, *PSIZE;
其中cx表示矩形区域的宽度,cy表示矩形区域的高度。特别需要说明的是,cx、cy仅表示数值,具体单位可能跟以下因素相关:视图范围、窗口范围、文本范围、位图尺寸等。
MFC中建议使用CSize,用法可参考如下链接,http://msdn.microsoft.com/zh-cn/library/ha26t74c.aspx。CSize仅提供了构造函数和运算符重载(+、-、+=、-=、==、!=)。
注:版权所有,请勿用于商业用途,转载请注明原文地址。本人保留所有权利。