当前位置: 首页 > news >正文

第5章,[Win32 章节] :绘制直线(二)

专栏导航

上一篇:第5章,[Win32 章节] :绘制直线(一)

回到目录

下一篇:第5章,[Win32 章节] :绘制直线(三)

本节前言

对于本节所讲解的知识,有可能,你会需要时不时地参考本专栏的其它文章。真的遇到了需要参考之前的文章的知识点,请你自行查阅。

我呢,也会提到一部分的参考课节。但是呢,你不应该依赖于我的主动提及。最好呢,你自己能够多去了解和查看本专栏目录。

学习本节之前,需要先学习以下的先修课节。

参考课节:第5章,[Win32 章节] :绘制直线(一)

本节内容,主要来自于对佩措尔德原教材的大段抄录。

我们开始。

一. 本节内容

为了画一条直线,必须调用两个函数。第一个函数用来指定直线的起点,第二个函数用来指定直线的终点。

MoveToEx (hdc, xBeg, yBeg, NULL); LineTo (hdc, xEnd, yEnd);

MoveToEx 实际上没有画任何东西,只是设置设备环境的 “当前位置” 属性。接着,LineTo 函数在指定线段的终点的同时,在当前位置和终点之间绘制一条直线。当前位置可以认为是某些 GDI 函数绘制的起始点。在默认的设备环境中,点 (0, 0)为最初设定的当前位置。如果没有设定当前位置,那么调用 LineTo 函数就从客户区的左上角开始画线。

让我们回顾一下历史,在 16 位版本的 Windows 中,设置当前位置的函数是 MoveTo 。这个函数仅有三个参数:设备环境句柄,x 坐标和 y 坐标。函数的返回值是运行该函数之前的当前位置,它是一个由两个 16 位的值拼合的 32 位无符号整型数值。然而,在 32 位版本的 Windows 中,坐标值本身就是 32 位。由于 32 位版本的 C 没有定义 64 位的整型数据类型,所以这种变化也就意味着 MoveTo 不能够在返回值上表示先前的当前位置了。MoveTo 函数的返回值在实际的程序设计中几乎从来不会使用,因此就需要一个新的函数 MoveToEx 。

MoveToEx 函数的最后一个参数是一个指向 POINT 结构的指针。从 MoveToEx 函数返回后,POINT 结构的 x 和 y 字段表示运行该函数之前的当前位置。如果不需要这些信息(通常也是如此),可以像上面的例子所示的那样设置最后一个参数为 NULL 。

警告:尽管在 Windows 98 中出现的坐标值都是 32 位的,但是仅有 16 位被利用,因此坐标值的大小实际上是在 -32768 到 32767 之间。在 Windows NT 中,这 32 位数值都被使用。

通过调用下面的函数可以获取当前位置。

GetCurrentPositionEx (hdc, &pt);

这里的 pt 是一个 POINT 结构。

专栏导航

上一篇:第5章,[Win32 章节] :绘制直线(一)

回到目录

下一篇:第5章,[Win32 章节] :绘制直线(三)

http://www.jsqmd.com/news/1163652/

相关文章:

  • 2026成都GEO优化行业指南 服务商选择与效果落地参考 - 刘向阳而生
  • 如何快速下载国家中小学智慧教育平台电子课本PDF:tchMaterial-parser工具终极指南
  • deepseek 生成图片代码怎么用?AI 导出鸭助力各类文档导出,多方案对比教你高效操作
  • 浪琴中国官方售后服务中心|地址与官方客服热线权威信息通告(2026年7月更新) - 浪琴服务中心
  • 2026年干细胞行业机构解析:合规与技术成关键考量
  • 人工智能学习笔记-环境搭建
  • 亲身到店探访杭州亨得利官方名表服务中心|详细地址与24小时客服热线(2026年7月更新) - 亨得利官方
  • 2026年7月最新天津雷达官方售后客户服务热线与维修网点地址汇总 - 亨得利钟表维修中心
  • 2026年7月最新百达翡丽成都太古里维修保养服务电话 - 百达翡丽服务中心
  • 本地生活付费展位判断模型:超级流量卡、品牌秀和活动展位的使用逻辑
  • 架构权衡分析:多个方案怎么选
  • ISA-Bench: Benchmarking Instruction Sensitivity for Large Audio Language Models
  • 2026年葫芦岛GEO系统贴牌服务商靠谱源头厂商综合实力推荐TOP3:本地合伙人如何选择源头工厂搭建长期AI搜索业务线? - 子柔传媒
  • 架构协议:团队协作的“约定俗成“
  • 泰州海陵黄金回收 2026 行情指南|卖旧金避坑全攻略,3 家本地正规门店无隐形扣费 - 福金阁黄金回收
  • C语言流程控制
  • 劳力士电话维修中心提供专业手表维修与保养服务权威公示(2026年7月最新) - 劳力士服务中心
  • 亨得利官方名表服务中心|最新网点地址及官方热线权威信息公示(2026年7月更新) - 亨得利官方博客
  • 电脑端视频格式转换推荐,2026年这3款工具效率最高 - 软件工具教程方法
  • Docker安装RedisStack
  • 2026年7月最新合肥真力时官方售后服务热线与网点地址查询 - 亨得利官方服务中心
  • 全维度综合评测:杭州电商品牌升级宣传片拍摄服务商TOP6评级|2026年度汇总企业采购选型参考与避坑指南 - 全国影像制作行业测评
  • MSF内的一些功能简介
  • 2026年7月最新郑州芝柏官方售后联系电话与客户服务中心网点地址 - 亨得利官方服务中心
  • 广州百达翡丽回收价格查询与各大回收平台实测排行(2026年7月最新) - 百达翡丽服务中心
  • Python新手最容易踩的10个隐式坑,我刚工作时踩了一半,直接导致线上数据统计出错
  • 亚马逊大幅改进 Alexa AI 处理多步骤任务,却面临极高成本难题
  • 2026 泰兴黄金回收避坑全攻略!3 家本地合规实体门店,大盘实时计价无任何隐形杂费 - 福金阁黄金回收
  • 2026年7月邵阳​市公共卫生许可证检测集中空调通风系统检测水质检测空气质量甲醛检测怎么做?正规CMA机构办理指南 - 绿呼吸检测中心
  • 仅影响左撇子的WordPress Bug,七年后终迎修复方案!