Windows编程基本概念之Point、Size

[Windows编程基本概念之Point、Size]

作者:Tocy    时间:2014-09-20

  1. 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偏移函数,并重载了+、-、+=、-=、==、!=的运算符,在一定程度上可以简化使用。

     

  2. 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仅提供了构造函数和运算符重载(+、-、+=、-=、==、!=)。

     

 

注:版权所有,请勿用于商业用途,转载请注明原文地址。本人保留所有权利。

Windows编程基本概念之Point、Size

上一篇:HTML5 API——无刷新更新地址 history.pushState/replaceState 方法


下一篇:SwingUtilities的invokeLater和invokeAndWait