当前课程知识点:VC++面向对象与可视化程序设计(上):Windows编程基础 >  第2章 Windows的图形设备接口及Windows绘图 >  02-4 例题和作业 >  02-4-4 例题4

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

02-4-4 例题4在线视频

02-4-4 例题4

下一节:02-4-5 作业

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

02-4-4 例题4课程教案、知识点、字幕

下面我们再通过一个例子

给大家介绍一下映像模式的使用

这个例子是这样的

初始阶段我们按模式TEXT绘图

图形为一个坐标系

以逻辑坐标系的原点为原点

X、Y轴分别是逻辑坐标系的X、Y轴

当用户按下A键、B键或C键时

产生WM_CHAR字符消息

将映像模式分别设置为

跟这个LOMETRIC

同时进行刷新用户区

那首先我们先运行一下应用程序

好!这个程序编译通过

我们先运行一下

然后再介绍代码的具体内容

这个程序是这样的

刚开始运行的时候是这么个界面

有一个坐标系

X轴 Y轴

然后我按下A键的时候

它是一个映射模式是这样的

按B键的时候

X轴跟Y轴比例是变化的

按C键的时候

这个时候大家看到X轴跟Y轴

这个Y现在是向上的了

这个方向就发生了变化

那么就是这么个效果

其实这个例子非常简单

但为什么要讲这么个例子

也就是说将来大家可能在进行科学计算过程中

或者说科学研究过程中

经常会碰到坐标的变化问题

那实际上这个问题

我们根据我们例题的题意要求

初始阶段按TEXT模式绘图

所以,应用程序我们初值定义了TEXT

这是一个全局的变量

这是一个模式

是全局的变量

这是映射模式

然后我们关键要处理什么呢?

WinMain内容大家看起来是一样的

我们就不细说了

给大家显示一下就可以了

大家可以去下载我们的代码

关键我们讲一下WndProc

同样定义了hdc

PAINTSTRUCT的ps

定义了一个画笔PEN

然后由于我们响应的是字符消息

所以字参数如果是字符A

大家看到小a和大A

也就是说因为在C语言里面

小a和大A由于它ASC码值不一样

所以小a字符跟大A字符是不同的值

如果我们只响应大A

那么有用户按下小a的情况下

那么就不能根据按下A/a这个字符来进行操作

因为A/a字符包含大A跟小a

所以我们字参数,如果等于小a或者等于大A的情况下

我们定义了一个模式

如果是小b或者大B

又定义了另外一个模式

如果小c或者大C

又定义了另外一个模式

实际上这里响应的字符的信息

就是这么简单

就是通过字参数的

我们通过字参数判断是哪一个字符

然后确定它的映射模式

由于确定了映射模式之后

那么刷新用户区的时候

我们是根据新的模式进行刷新

由于定义了映射模式之后

我们要开始响应PAINT消息

PAINT消息同样

是创建DC

将这个模式选入DC

然后设置窗口和视口

然后创建红色的笔

因为大家看到我们画的一个坐标是红色的坐标

然后我们这里画线

画线这里画的

这个是原点

然后画线画到这个地方

然后在这个地方大家可能不清楚

这是为什么

实际上我们坐标里面

我给大家看一下

大家就明白了

这个坐标里面是有箭头的

那么这个箭头是怎么画出来的

箭头也是一根线

所以这里是一根线

两根线

三根线

所以画一个箭头

一个坐标轴还有一个箭头

实际上这里是六根线

这里是六根线

不同的映射模式下都是六根线

所以的话

大家看到这里就画了六根线

这个画线的话,只是把道理给大家说清楚

至于怎么画线

怎么坐标从什么地方开始

我想大家自己去算一下就知道了

然后这个题目实际上只是给大家介绍一下

通过字符消息来驱动刷新的问题

同时在刷新过程中

考虑不同的映射模式的问题

好了 这个例子也是非常简单

我们就介绍到这儿

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章源代码

--外部链接

-第一次作业

--第一次作业--作业

-第二次作业

--第二次作业--作业

-第三次作业

--第三次作业--作业

02-4-4 例题4笔记与讨论

也许你还感兴趣的课程:

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