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

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

时间: 2024-10-17 04:31:16

Windows编程基本概念之Point、Size的相关文章

C#初学笔记(Windows编程的基本概念)

Windows编程的基本概念 人机界面HCI(human-computer interface)又称用户界面UI(user interface),是人与计算机之间传递.交换信息的媒介和对话接口,是计算机系统的重要组成部分.由于大多数应用程序是以用户界面为框架的,因此界面编程是软件开发的核心编程之一. 用户界面的设计与操作系统平台有关,操作系统界面一般有两种: (1)命令行界面CLI(command line user interface),例如DOS: (2)图形用户界面GUI(graphica

与windows编程有关的主要概念

窗口窗口的概念很轻易了解,就是我们运用软件时看到的界面.Windows 的中心就是窗口,它是Windows一统PC操作零碎市场的杀手锏,如下图所示: \"\"图1:记事本程序 我们运用的软件都有本人的窗口,比方 QQ.盘算器.记事本等.这些窗口可以包括输出框.下拉菜单.单选按钮.多选按钮.文本区域等各类各样的控件(Controls),有的乃至还有动画!窗口.控件.图像.音频视频等都称为资本(Resource),在程序中都可以运用.创立.添加.修正等. 句柄在Windows编程中,分歧窗

windows 编程 —— 宽字符集 与 Unicode

从ASCII码 到 Unicode 双字节字符集 迄今为止,我们已经看到了256个字符的字符集(ASCII).但中国.日本和韩国的象形文字符号有大约21,000个.如何容纳这些语言而仍保持和ASCII的某种兼容性呢? 解决方案(如果这个说法正确的话)是双字节字符集(DBCS:double-byte character set).DBCS从256代码开始,就像ASCII一样.与任何行为良好的代码页一样,最初的128个代码是ASCII.然而,较高的128个代码中的某些总是跟随着第二个字节.这两个字节

【Windows编程】系列第十篇:文本插入符

大家知道,在使用微软的编程环境创建工程时会让你选择是控制台模式还是Windows应用程序.如果选择控制台的console模式,就会在运行时出现一个黑洞洞的字符模式窗口,里面就有等待输入一闪一闪的插入符.输入光标从DOS时代就存在,但是在Win32中赋予了更强大的功能.下图就是Windows的CMD窗口,其中的输入点就是插入光标: 要注意的是这里的插入符或插入光标并不是Windows中另外一个"光标",这里是指示插入字符的位置,而不是用于鼠标,手写输入等可以定位.移动的光标(Cursor

【Windows编程】系列第九篇:剪贴板使用

 上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个应用程序传递到另一个应用程序,是一种简单的进程间通信. 许多文档处理软件都有复制.剪切.粘贴功能,这些都是用Windows剪贴板实现的,当然我们也可以在我们的程序中实现自己的剪贴板功能,本篇我们就来实现自己的剪贴板.使用剪贴板时,都是先把源数据先传到剪贴板上,再在需要的时候从剪贴板传输到目的处

【Windows编程】系列第五篇:GDI图形绘制

上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数百个API可供我们使用,本篇把最常用的GDI绘图做一个讲解.GDI可以绘制点.直线曲线.填充封闭区域.位图以及文本,其中文本部分已经在上一篇中将了,请参考[Windows编程]系列第三篇:文本字符输出. 跟前面的GDI对象一样,本篇的这些绘图函数也必须要设备上下文句柄(HDC)作为函数参数,从前文我

【Windows编程】系列第三篇:文本字符输出

上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和图像输出. GDI基本知识 Windows下要绘图和输出文本,都是通过GDI(Graphics Device Interface,图形设备接口)完成的,GDI是windows在绘制图文时的设备上下文环境,包括画

有一定基础的 C++ 学习者该怎样学习 Windows 编程?

人的心理有个奇异的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解非常快就会忘得干干净净,似乎一切都是自然而然,本来就该这种.因此,关于「怎样入门」这类问题,找顶尖高手来回答,未必能比一个刚入门不久的人来回答要好.就譬如最高票的那个回答,是一个非常精通 Windows 编程的高人回答的,但这种答案能给刚開始学习的人带来多少帮助,我这里想先打一个问号. 前段时间刚辅导了一个学生学会了 Win32 GUI 编程,刚好看到这个问题,顺手就邀请他回答了.并不是是给他布置总结作业,不过希望能从他这里

有一定基础的 C++ 学习者该如何学习 Windows 编程?

人的心理有个奇妙的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解很快就会忘得干干净净,似乎一切都是自然而然,本来就该这样的.因此,关于「如何入门」这类问题,找顶尖高手来回答,未必能比一个刚入门不久的人来回答要好.就譬如最高票的那个回答,是一个非常精通 Windows 编程的高人回答的,但这样的答案能给初学者带来多少帮助,我这里想先打一个问号. 前段时间刚辅导了一个学生学会了 Win32 GUI 编程,刚好看到这个问题,顺手就邀请他回答了.并非是给他布置总结作业,仅仅是希望能从他这里得到第