当前课程知识点:VC++面向对象与可视化程序设计(上):Windows编程基础 >  第1章 Windows应用程序基础 >  1-5 应用程序举例 >  1-5-3

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

1-5-3在线视频

1-5-3

下一节:02-1-1 GDI

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

1-5-3课程教案、知识点、字幕

好 下面 我们再讲一个应用程序

这个应用程序是什么

就是说我们生成的不是空项目

而是Win32项目

那么这个项目是什么

就是说你生成的时候实际上也是一个空壳的应用程序

但是刚才那个例子里面

所有的代码都是我们自己输入的

我们现在这个例子

代码不需要我们输

系统给我们生成的空壳是什么样的

好了 我们点“下一步”

我们创建的是Windows应用程序

这个是“空项目”

我们可以不点“空项目”

空项目 就是刚才那个就是空的

我们完成

大家可以看到系统给我们生成了很多应用程序

我们仍然给它收起来

看看都生成了什么东西

好 我一个个都给它收了

这个它 有这么一个宏定义

这个是定义了什么

title 标题栏

这里定义了标题栏

这个宏定义是100

实际上就是说标题栏的字节数

字符个数不要超过100

但是一般来说作为一个窗口

不会有人在窗口上写上100个字节这么长的一个标识

所以我们刚才自己写代码的时候

就没有去做这一个控制

还有窗口类的名字 也是限定到100

实际上窗口类的名字一般来说我们就几个字符

能够有效地识别就可以了

也没有人会起到超过100

所以我们就没有去做这个控制

那么在这里面窗口类的注册

当前实例的初始化以及窗口原型函数

实际上就是说我们还是那句话

被调函数在主调函数后面出现的时候

前面要有前向的声明

它这里声明在这里面了

那么我们刚才看到的前面例子的声明 只看到了这个声明

为什么

因为这两个内容都在应用程序里直接写进去了 不需要声明

所以只是写的方法不一样而已

那么我们看一下它的窗口类的注册

那这个大家看到了 这里是WNDCLASSEX

我们这里前面一个例子写的是WNDCLASS

现在这个写什么名字只是一个变量的名字

无所谓

我们起的什么名字不一定和它一样

大家学过C语言都会识别这些东西

一样这里也是title、WndProc

实际上这些参数的话 内容是一样的

箭头也是IDC_ARROW

那么这个东西 虽然有一些这个参数不大一样

这个只是说在建应用程序初始的时候

它选的内容和我们选的内容不完全一致

但是套路是一样的

都是对这个结构的成员进行赋初值

然后注册窗口类

然后在这里面InitInstance

实际上初始化

初始化过程中创建了window

我们刚才应用程序里面创建window

是直接在应用程序WinMain里面创建的

所以没有把它单独提出来

它这里面把它单独提出来作为一个应用程序

那么在这里面这个是WndProc函数里面

它这个是注释

注释的话 我们就不用太细地去看它了

那么它的WndProc跟我们的一样 也是四个参数

跟我们的参数是一样的

因为这是构架嘛 一样的

它这里面

我们只处理了退出

退出它用的是DESTROY退出

跟我们的退出 PostQuitMessage退出效果是一样的

但是它这里多做了一个ABOUT

多做了一个ABOUT它多了什么地方

我们编译运行一下

就是看一下它多做了什么地方

实际上它这里多了两个菜单

ABOUT是这个东西

但我们刚才的应用程序里面

是没有这两个菜单

是说实际上是更原始的

就是说是完全空壳的一个东西

所以我们刚才建的程序

它这里面 还不能(算)真正意义上的空壳

因为它这里退出可以从这里退出

我们刚才退出直接从这里退出

没有安排这两个东西

也就是说比这个它系统生成的空壳文件更简化 更基础

因为它刚才有ABOUT

所以它这里多了ABOUT消息

系统自动给你生成的东西还牵扯到了PAINT

PAINT消息我们后面才讲到

所以它这里面的空壳内容比我们的空壳还多一点

这个大家应该熟悉了

这个就是我们退出时用的DESTROY和DefWindowProc

实际上我们只做了这两个

空壳的应用程序它生成应用程序的时候

由于多做了一些菜单

所以它就

你既然多做了菜单 就得对菜单进行响应

这几个case它怎么来的

实际上我们作为第一节课

还没有讲到其他对象的ID是如何创建

所以在这里面它多创建了一些东西

对于初学者来说可能这个地方看起来是有困难的

那么大家对比一下 带着问题去学习

也知道后面的话我们会对很多的对象进行响应

实际上这里面每一个case都是对一个对象进行消息响应

因为它多了一个ABOUT

它就要对ABOUT进行响应

那么对ABOUT响应里面这里内容也就比较多了

大家可以先看一下 自己先领会一下

最主要的还是先掌握我们刚才作为例题给大家介绍的

那个最空壳的最基础的一个应用程序

它这个自动生成

实际上生成了很多附加的东西

还算不上最最基础最最简单的一个

没有任何一个别的功能的空壳程序

所以这个大家也不妨自己也在我们刚才第一个例题的基础上

做一个体会

那么这里相信对初学者来说

这个系统生成的很多代码

大家可能一下子不会很快地能够领会

因为它这里的内容跨越了我们后续的很多内容

所以这个例子只是给大家拿出来让大家体会一下

并不要求大家现在就能够很好地全面地掌握

我们从循序渐进的学习角度来说

要求大家刚才第一个例题要很好地掌握

第二个例题作为参考

然后带着问题学习后面的专题

那好 我们第一讲的内容就到这儿

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

--外部链接

-第一次作业

--第一次作业--作业

-第二次作业

--第二次作业--作业

-第三次作业

--第三次作业--作业

1-5-3笔记与讨论

也许你还感兴趣的课程:

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