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

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

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

02-4-2 例题2

下一节:02-4-3 例题3

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

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

设置映像与使用映像模式

程序的初始阶段按照我们缺省的TEXT模式绘图

当用户单击鼠标以改变映像模式

比如说单击鼠标的左键

产生的LBUTTONDOWN这个消息

通知应用程序设置映像模式为ISOTROPIC

然后调用这个InvalidateRect函数来刷新用户区

在用户单击鼠标右键时

产生了这个RBUTTONDOWN的消息

应用程序将映像模式设置成ANSIOTROPIC

那么同时刷新用户区

那么这个程序

我们怎么来完成呢?

我们下面通过我们应用程序的编译环境

Visual Studio来这个环境来给大家一块儿看一下

这个应用程序是怎么编写的

那步骤跟前面一样

我们应用程序的工程文件的生成过程

我们这里就不细说了

我们假设应用程序工程文件已经生成

我们就开始介绍WndProc函数

因为WinMain函数

WinMain函数跟前面是一样的

大家看到写成映射模式

映射模式跟映像模式实际上只是翻译的不同

在这里是一个概念

可能在教材的别的地方也可以看到写的是映射

实际上映射大家理解为就是映像

它就是翻译的不同

实际上就是一个概念

那WinMain的话, 跟前面是一样的

我就不多说了

我们重点介绍WndProc

同样我们要创建设备环境

然后要建立PAINTSTRUCT对象

我们这里定义了两支画刷

hB1、hB2

那么这时候

窗口里面这个Window函数

Window里面传过来一个消息

从这个WndProc里面

从这个应用程序的窗口里面传过来message消息

这个message消息如果是鼠标的左键LBUTTONDOWN

请大家注意我们这个应用程序里面

代码的注释写得非常详细

大家通过代码的注释

也可以很清楚地学习代码的结构

那么也就是说在这里如果遇到鼠标左键消息的时候

我们将映像模式或者说映射模式

根据我们题目的要求给它设置为ISOTROPIC

然后刷新用户区

如果是鼠标左键的情况下

然后, 我们把映像模式定义为ANISOTROPIC

然后刷新用户区

不管是鼠标左键还是鼠标右键

我们仅是定义了这个映像模式

最后我们都要通过画图PAINT

然后PAINT里面我们仍然是创建了HDC

然后把前面设置的映像模式选入

来选入到当前的DC里面去

那么也就是说你如果按的是鼠标左键

就把这个映像模式选入到PAINT里面的SetMapMode里头去

同理右键就选这个映像模式

ANISOTROPIC选入当前的设备环境

这个映像模式

设备环境里的映像模式

然后我们设置窗口的大小

跟视口区域的大小

并设置原点

在这个时候我们把系统定义的白色画刷和黑色画刷

分别选入当前的设备环境

所以给它赋值给hB1和hB2

然后选入设备环境了

选入设备环境后画了一个圆角矩形

然后再把hB2这个画刷

选入设备环境

画了一个填充的椭圆

然后我们绘图工作完成后

要把这个句柄删除 释放掉

所以用EndPaint

同时把画刷 ,选入设备环境的画刷也删除

这个DESTROY跟这个default跟前面一样

咱就不细说了

我们生成一下应用程序

系统提示是成功

那么我们运行一下

好!这个程序大家看到初始的界面是这样的

然后我单击鼠标左键和右键

效果呢?是不一样的

效果不一样是因为它这个不同的映射模式

它这个屏幕的比例发生了变化

就是尺寸的比例发生了变化

这个大家可以课后自己下载应用程序

去运行

去分析

去体会

好!这个例子我们就介绍到这儿

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-2 例题2笔记与讨论

也许你还感兴趣的课程:

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