当前课程知识点:VC++面向对象与可视化程序设计(上):Windows编程基础 >  第3章 文本与字体 >  3-3 例题和作业 >  3-3-4 (例3-4)

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

3-3-4 (例3-4)在线视频

3-3-4 (例3-4)

下一节:3-3-5 (作业)

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

3-3-4 (例3-4)课程教案、知识点、字幕

在了解了动画文字的显示这个基础上

我们再通过一个例子来看看文字的输出

我们看这首古诗

文字是竖版排版

而且是从右到左

那么如何按照古诗的原貌

我们进行文字的旋转排版

那么我们通过这个例子

来看看这个是怎么实现的

这个代码里面

这个InitWindowsClass

InitWindows这些我们都不再讲了

大家可以看我们在教学网站上面的源代码

我们重点讲一下WndProc

为了大家方便地识别这些代码

我人为地加了这些行号

再次提醒大家

我们的程序里面不允许加行号

我想大家这时候一看

nXChar、nYChar

大家应该很熟悉了

就是输出字符的坐标位置

我们看一下TEXTMETRICS

一样的

这个设备环境句柄一样的

这个PAINTSTRUCT这些都没什么问题

那么我们输出的这个古诗

实际上是四行

四行的话

我们还是按标准的四行

给它定义了一个指针数组

实际上这里面包含有四个字符串数据类型的指针

分别指向每一行的古诗的首地址

然后,我们进入消息循环

在CREATE里面

我们要获得DC

获得字体的信息

nXChar和nYChar分别是字符的宽度和高度

那么这个nCaps是什么?

是字间距

我们获取了这些字符信息之后

我们CREATE消息就完成了

那么大家知道CREATE消息是什么时候响应的

这个我再次给大家提醒一下

程序一运行

它自动地执行CREATE消息

所以你要想程序一运行

自动执行的内容

全部放到CREATE消息里面

它马上就执行

所以这个是缺省的

那么PAINT的话

是刷新后的请求

在这里面,我们获得DC

然后这个i跟j在这里面的话,实际上是循环因子

那么这个大家一看就知道是输出四行的古诗

也就是说我们从第四行开始输

第四行是什么

唯见长江天际流

第四行开始输

j的话,0到7

就是这里不是7个文字吗

0到7

然后分别计算出X的位置

那么X的位置是什么?

就是它输出的位置

Y位置也是输出的Y坐标的位置

那么这样的话我们就把X、Y坐标位置算出来后

输出这个古诗一行一行的内容

那么这时候大家看到了我这里是

这个循环是从4到0

那么这里是4-i

那么这里textbuf刚开始

当j开始执行的时候

这个i的话,是4减去4

是0

那么输出的话,是故人西辞黄鹤楼

输出之后的话,我们大家看到

这个for循环它负责的是到这里为止

那也就是说它输出的时候

对于这个for循环

它i的值是不变的

那么也就是说在内层循环里面

i的值没有变

也就是pointx值没有变

只是pointy的值变了

就是Y的值变了

那么刚开始

这个X的值是什么呢?

我们输出的是这个4-i

那么4-i那这个textbuf是0

这个下标是0

就是这个故人西辞黄鹤楼

x和y一直变化

那么就这么输出来了

输出来之后

那么i的值又变化了

i的值因为减减

那么变成3

那么4减3就变成1

1的话,输出就是

烟花三月下扬州

那么这个时候大家看到

随着i的值变化

这个x的值又变化一次

变化完了进入了j循环的时候

变化完只要i的值变成3后

这里一直是3

就完全j 0到6的循环

又计算了第二行输出的每一个文字的y坐标

那这样又实现了竖向输出

用这种方式

就可以把完整地把这个古诗按老祖宗的规矩

从右到左

从上到下

进行完整的输出

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-3-4 (例3-4)笔记与讨论

也许你还感兴趣的课程:

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