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

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

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

3-3-1 (例3-1)

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

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

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

下面我们通过一些例子来介绍文本的操作

在用户窗口上输出几行字符串

比如说这里大家看到

second line 等等等等六行

当窗口接收到PAINT消息之后

显示的文本每次都会被重新刷新

刷新成现在的内容

编写这个应用程序遵循的基本构架

跟我们上一讲的例题是完全一样的

所以这个WinMain的话, 显示一下

大家知道跟前面是一样的 就不细说了

消息处理函数WndProc

我们定义了一个DC

然后定义了一个nXChar跟nYChar

这个待会儿大家就知道是什么了

这个TEXTMETRIC是字符集的一些信息

这个short LnCount 大家就看到

我们原来要求的是输出6行的内容

所以这里面就定义了是6个行

那么这个PtStr

是指向包含绘图信息的一个结构体的变量

通过一个指针数组来定义

那么大家知道这个指针数组

没有写明这里指针数组的长度

实际上这个长度根据我们函数的定义 它就是6

我们进入消息处理

我们要创建一个窗口

所以对于程序运行

马上就发生看得见的内容

这些内容都是放到WM_CREATE这个消息里面

所以在WM_CREATE消息里面

我们要获取当前的设备描述表DC

然后我们获取字体的信息

获取当前字符的宽度

这是字符的宽度 这是字符的高度

是原来字符的高度再加上行间距

那么实际上这高度是指下一行位置的高度

所以这样的话这里面实际上是字符输出位置的坐标

这个地方是专门为字符输出的定位服务的

为此我们定义了两个变量

当我们获取了这个字体信息的时候

那么这时候我们DC就可以不要了

关键在DC里面是为了获取字符的信息

那么获取字符信息之后

我们就开始处理PAINT消息

PAINT消息实际上大家知道是开始刷新或者叫绘画

然后我们用BeginPaint获取一个DC

然后, 通过一个for循环

从0到这个6,是吧

x<6,就是5

那么0到5,就是6个

输出文本

在这个DC里面

在这个X坐标和Y坐标的位置上

那么请大家注意

Y坐标是我循环每完成一次

也就是说它输出一行之后

它这个Y,是在原来的基础上再加1

那么这样的话,实际上就到了下一行的输出位置

就输出X个字符串

这个大家回过头看一下

就这6个字符串

然后每一个字符串的长度是多少呢?

用lstrlen

那么这就是TextOut函数里面

要求指定地输出的字符串的字节数

那么通过一个for循环就完成了字符串的输出

输出后,就EndPaint,就结束了

那么这个DESTROY和default跟前面一样

我就不说了

所以实际上

输出这么几个字符串很简单

通过CREATE消息

获得字符的相应的信息

然后,就开始输出字符串

获得属性信息关键的就是

获得这个X、Y的坐标位置 核心问题就在这儿

因为我们已经通过textbuf这个数组

确定了要输出的字符串

strlen这个函数获取字符串的字节数的时候

我们剩下的工作就是确定字符串输出的坐标位置

其他的InitWindowsClass和InitWindows

这个内容和前面讲的构架是完全一样的

这里……的内容实际上是

填写WNDCLASS的数据结构

那么这个例题我们就介绍到这儿

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

也许你还感兴趣的课程:

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