当前课程知识点:VC++面向对象与可视化程序设计(上):Windows编程基础 >  第3章 文本与字体 >  3-2 文本的输出过程 >  3-2 文本的输出过程

返回《VC++面向对象与可视化程序设计(上):Windows编程基础》慕课在线视频课程列表

3-2 文本的输出过程在线视频

3-2 文本的输出过程

下一节:3-3-1 (例3-1)

返回《VC++面向对象与可视化程序设计(上):Windows编程基础》慕课在线视频列表

3-2 文本的输出过程课程教案、知识点、字幕

下面我们介绍文本的输出过程

文本输出过程,包含这么几个步骤

首先,我们要获取字体的信息

然后,要对文本进行格式化

所谓格式化,就是确定后续文本的坐标

和确定换行时候文本的坐标

然后调用函数输出文本

首先我们说获取字体信息

输出文本之前我们是需要知道

字符的高度、宽度以及下一行的字符位置

否则的话, 这些文字弄不好就会重叠在一起

或者这个行与行之间差距非常大

引起视觉效果的不适

所以的话,输出文本之前

我们一定要获取字体的信息

获取当前字体信息

我们就用GetTextMetrics这个函数

那么这里面,有一个tm

tm是什么呢?

tm是TEXTMETRIC结构的一个变量

实际上是代表了一个文本的对象信息

调用这个GetTextMetrics这个函数的时候

系统将当前字体的信息会拷贝到

tm标识的TEXTMETRIC结构中

那也就是说系统自动填写了TEXTMETRIC数据结构

这里,把这个数据结构给大家列出来

大家简单地看一下

这里的参数,我简要地说明一下

比如说这里是字符的高度

字符基线的高度

基线以下的高度等等等等

那么这些的话,就是说

系统会给你去识别

很重要的一个就是它所处的字符集

那么这个字符集这个地方

如果使用不同的字符集

它输出的效果是有差别的

那么在格式化文本过程中

我们需要格式化处理什么东西

主要的就是在文本行中确定后续文本的坐标

以及换行时下一行文本的坐标

确定后续文本的坐标

应先获取当前字符串的宽度

这工作由GetTextExtentPoint32这个函数来完成

把结果存储在一个SIZE这个结构中

实际上它就是一个X、Y的坐标

那么它的返回值是

返回字符串的宽度及高度的SIZE的这个地址

例如我们说,X轴起始坐标如果是cx0的话

那么后续文本坐标,就是cx1

是原来X轴起始坐标加上size.cx

我们这样就可以确定后续文本的坐标

我们需要换行的时候

是需要确定换行时文本的坐标

这时候Y坐标是要变化的

把当前的字符高度和行间隔之和算起来

就可以得到换行时文本的起始坐标

那么字符的高度与行间隔也存储在

tm指向的TEXTMETRIC结构中

那么换行时,Y轴上文本的起始坐标

比如说为cy的话

那么cy就是tm.Height

这个Height就是原来字符的高度

然后,这个第二个参数就是字符的行间隔

那么这两个加和就是下一行的字符的Y轴的坐标起始位置

文本输出,常用的用TextOut这个函数

TextOut就是在当前的DC里面

根据X、Y这个坐标

这个X、Y坐标实际上是用户区中字符串的起始坐标

在这个起始坐标的开始位置

输出要显示的字符串

我们还要知道这个字符串中需要输出的字节数

也就是说如果字符串有100个字节

当你只需要输出30个字节的时候

那么你给它一个字节数的标识的话

那么超过这个标识的字符串内容是不会被输出的

TextOut是以坐标X、Y为起点

输出字节数为nCount 名为Ipstring中的字符串

VC++面向对象与可视化程序设计(上):Windows编程基础课程列表:

第0章 课前讨论

-讨论实录

--0-0

第1章 Windows应用程序基础

-1-1 Windows应用程序的特点

--1-1

-1-2 可视化编程

--1-2

-1-3 关于API

--1-3-1

--1-3-2

-1-4 Windows应用程序组成及编程步骤

--1-4-1

--1-4-2

-1-5 应用程序举例

--1-5-1

--1-5-2

--1-5-3

第2章 Windows的图形设备接口及Windows绘图

-02-1 Windows图形设备接口

--02-1-1 GDI

--02-1-2 图形刷新

--02-1-3 获得设备环境方法

--02-1-4 映像模式

-02-2 绘图工具与颜色

--02-2-1 画笔

--02-2-2 画刷和颜色

-02-3 常用绘图函数

--02-3 常用绘图函数

-02-4 例题和作业

--02-4-1 例题1

--02-4-2 例题2

--02-4-3 例题3

--02-4-4 例题4

--02-4-5 作业

-第2章源代码

--外部链接

--外部链接

第3章 文本与字体

-3-1 设置文本的设备环境

--3-1 设置文本的设备环境

-3-2 文本的输出过程

--3-2 文本的输出过程

-3-3 例题和作业

--3-3-1 (例3-1)

--3-3-2 (例3-2)

--3-3-3 (例3-3)

--3-3-4 (例3-4)

--3-3-5 (作业)

-第3章源代码

--外部链接

第4章 Windows应用程序中的键盘与鼠标

-4-1 Windows 应用程序中的键盘与鼠标

--4-1

-4-2 键盘的操作应用举例

--4-2

-4-3 例题

--4-3

-4-3 鼠标在应用程序中的应用

--4-3

-4-4 例题4-4

--4-4

-第4章源代码

--外部链接

第5章 资源在Windows编程中的应用

-5-1 菜单和加速键资源及其应用

--5-1

-5-1(例1)

--5-1(例1)

-5-2 位图资源及其应用

--5-2

-5-3 对话框资源及其应用

--5-3-1

--5-3-2

-5-4 图标资源的应用

--5-4

-第5章源代码

--外部链接

-第一次作业

--第一次作业--作业

-第二次作业

--第二次作业--作业

-第三次作业

--第三次作业--作业

3-2 文本的输出过程笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。