第6章 SWT概述 · Web view虽然后来又有VC++...

12
1VC++ 6.0第第第第第第 Visual C++ 6.0 第第第第第 1998 第第第第第第 第 1993 第第第第第第第 Visual C++ VC++第第第第第第第第 ,, VC++第第第第第第第第第第第第第第第第第第第 第第第第第第 VC++ 7.0 第第第第第 VC++ 6.0 第 第第 ,一。 VC++ 6.0 第第 C++ 第第第 第第 第第第 Windows 第第第 第第第第第第第第第第 VC++ 6.0 第第第第第第第 第第第第AppWizard、(Class Wizard第第第第第第 Developer Studio 第第第第第第第第第第 第第 第第 VC++第第第第第第第第第第第第第第第第第第第第第第第 1.1 Visual C++ 6.0第第第第第第 VC++ 6.0 第第第第第第第第第第第第第第 第第第第 第第第第 第第第第 第第第第 第第第第第第第第第第第 、、、、、, 第第 1.1第第 第1.1 VC++ 6.0第第第第第第

Transcript of 第6章 SWT概述 · Web view虽然后来又有VC++...

Page 1: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1 章 VC++ 6.0程 序 设 计 简 介

Visual C++ 6.0是微软公司 1998年推出的产品。自 1993年微软公司推出 Visual C++(简称 VC++)后,随着其新版本的不断问世,VC++已成为专业程序员进行软件开发的首选工具。虽然后来又有 VC++ 7.0,但由于受操作系统的局限不能有效推广,而 VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。

VC++ 6.0不仅是一个 C++编译器,还是一个基于Windows操作系统的可视化集成开发环境。VC++ 6.0由许多组件组成:包括编辑器、调试器、程序向导(AppWizard)、类向导(Class Wizard)等。这些组件通过 Developer Studio集成为和谐的开发环境。本章将对VC++集成开发环境及集成开发环境的使用进行简单的介绍。

1.1 Visual C++ 6.0 集 成 开 发 环 境

VC++ 6.0集成开发环境的主窗口由标题栏、菜单栏、工具栏、工作区、客户区、输出区及状态栏等组成,如图 1.1所示。

Page 2: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础

图 1.1 VC++ 6.0集成开发环境 标题栏:用于显示应用程序名及当前打开的文件名。 菜单栏:集成开发环境的操作菜单。 工具栏:与菜单相似的一些操作按钮,如新建、保存等。 工作区:用于显示当前打开工程的有关信息,包括工程的类、资源及文件组成等内容。

客户区:用于文本编辑器、资源编辑器等文件和资源的编辑。 输出区:用于输出编译信息、调试信息和一些查询结果信息。 状态栏:用于显示菜单栏、工具栏等的简单说明,以及文本编辑器中当前光标所在行列号等信息。

1.1.1 VC++ 6.0集 成 开 发 环 境 菜 单 栏 及 工 具 栏 简 介

菜单栏及工具栏是 VC++ 6.0集成开发环境的常用工具。通过这两部分可以更加方便地编辑代码、编译程序。菜单栏子选项非常多,工具栏与之对应的选项也是举之不尽,以至于笔者不能在本章一一介绍。本节将对关键且常用的菜单选项及工具栏选项进行简单的介绍。

菜单栏由 File(文件)、Edit(编辑)、View(视图)、Insert(插入)、Project(工程)、Build/Debug(编译/调试)、Tools(工具)、Window(窗口)及Help(帮助)9个主菜单构成。当然,除了这些主菜单外,还有一些弹出菜单。本节中将主要针对这 9个主菜单进行讲解。

File(文件)菜单:主要实现与文件有关的操作,如新建、打开、关闭、保存、另存为、全部保存等;另外还显示一些最近打开的文件、项目及工作区。

Edit(编辑)菜单:主要实现一些与文件编辑有关的操作命令,如赋值、粘贴、剪切、查找、替换等。

View(视图)菜单:主要用于改变窗口的显示方式,以及激活一些窗体。·3·

Page 3: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

Insert(插入)菜单:主要实现与添加有关的一些操作,如添加新类、添加新的资源、添加新的代码文件等。

Project(工程)菜单:与工程项目相关的一些操作,如常用的向工程中添加源代码文件、设置当前项目、改变编译器及连接器等。

Build/Debug(编译/调试)菜单:主要实现与编译、调试相关的操作,如编译、重新编译、连接、执行程序等。这个菜单中的项目在做工程时是使用最多的。

Tools(工具)菜单:主要实现启动常用集成开发环境常用工具栏的功能,如启动调试工具栏、启动绘图工具栏等。

Window(窗口)菜单:主要实现与窗口显示有关的操作,如新建窗口、切换窗口、拆分窗口等。

Help(帮助)菜单:主要用于集成开发环境的帮助操作,如启动 MSDN、版本说明等。

1.1.2 VC++ 6.0集 成 开 发 环 境 工 作 区 简 介

一般工程的工作区有两个模块:Class View(类视图区域)及 File View(文件视图区域)。如果工程还有资源(对话框资源、位图资源等),在类视图区及文件视图区中央还会有一个 Resource View(资源视图区)。如图 1.2所示的工程就有 3个区域。

在 3个区域中分别用不同的方式管理着同一个工程。(1)类视图管理工程中所有的类。也就是将工程中所有的类、结构体都作为类视图中

的一个节点,而类的函数、成员变量又是这个类节点的子节点。双击这个类客户区会显示这个类的定义位置;双击类成员函数,则客户区会显示这个类成员函数的实现位置;双击类的成员变量,则客户区会显示变量的定义位置。图 1.2显示的就是工程的类视图。

图 1.2 工作区域的 3 个视图区(2)资源视图管理工程的所有资源。无论是对话框、位图还是菜单、工具栏资源都可

·4·

Page 4: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础以在这个视图中进行统计与管理。每种资源都是一个节点,而每个这种资源又是这种资源的一个子节点。双击子节点客户区便会显示这个资源的定义。工程的资源视图如图 1.3所示。

(3)文件视图管理工程中的所有文件。此视图中可以删除任何一个工程中的文件,但只能在“工程”菜单中才能添加文件。一个工程中有 5 种常见的文件:源文件、头文件、资源文件、readme.text及扩展文件。每种文件都是文件视图中的一个节点,而工程中任何一个这种文件都是这种文件的一个子节点,单击这个子节点,客户区将显示这个子节点对应的文件。工程的文件视图如图 1.4所示。

图 1.3 工作区的资源视图 图 1.4 工作区的文件视图

1.2 Visual C++ 6.0 的 “ Hello World ! ”

本节介绍如何使用 VC++开发第一个工程——“Hello World!”。VC++ 6.0可以开发很多种工程,每种工程对应着一种应用。本例将选择本书后面章节中常用到的工程来讲解如何创建VC++ 6.0的“Hello World!”。1.2.1 VC++ 6.0可 创 建 的 工 程 简 介

正如前面所说,VC++ 6.0可以创建很多种工程,这一点从选择“文件”|“新建”菜单后打开的对话框就可以看出,如图 1.5所示,图中可以新建文件、工程、工作区及其他 文档。

(1)创建的文件有 13个种类,每一种都对应着不同类型的文件,如表 1.1所示。(2)创建工程时会有 17 种选择,如图 1.6所示。每种工程对应着一种应用,如表 1.2

所示。

·5·

Page 5: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

图 1.5 新建项目

图 1.6 新建工程表1.1 VC++ 6.0创建的文件类型

文 件 类 型 说 明 文 件 类 型 说 明Active server Page 网页制作文件 ICON File 图标文件Binary File 二进制文件 Macro File 宏文件Bitmap File 位图文件 Resource Script 资源脚本文件C++ Source File C++源文件 Resource Template 资源模板文件C/C++ Header File C/C++头文件 SQL Script File SQL脚本文件文件Cursor File 光标文件 Text File 文本文件HTML Page HTML文件

表1.2 VC++ 6.0可创建的工程及其说明工 程 类 型 说 明

ATL COM AppWizard ATL应用程序Cluster Resource Type Wizard 群集资源类型向导,用来创建可以到处用的资源项目Custom AppWizard 创建自定义的向导工程Database Project 数据库项目DevStudio Add-in Wizard 自动化宏工程Extended Stored Proc Wizard 扩展存储过程向导ISAPI Extension Wizard Internet服务器或过滤器工程

续 表工 程 类 型 说 明

Makefile Makefile工程MFC ActiveX ControlWizard ActiveX控件工程MFC AppWizard(dll) MFC动态链接库工程MFC AppWizard(exe) MFC可执行程序的工程New Database Wizard 创建新的MS SQL Server 数据库Utillity Project

创建效用项目,这种项目只作为其他项目的包容器,减少子项目的编联时间,本身并不包含任何文件

Win32 Application Win32应用程序·6·

Page 6: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础Win32 Console Application Win32控制台程序Win32 Dynamic-Link Library Win32动态链接库Win32 Static Libry Win32静态链接库

1.2.2 创 建 基 于 Win32 Console Application的 “ Hello World!”

下面通过实例学习创建基于Win32 Console Application的项目。(1)选择“文件”|“新建”命令,打开“新建”对话框。选择“工程”选项,选中

Win32 Console Application。在右侧工程框中输入工程名,可以任意写。为了与其他工程区分,本实例起了和工程类型相同的名字 Win32 ConsoleApplication,如图 1.7所示。

(2)单击“确定”按钮后,将弹出一个向导对话框,选择 An empty project,如图1.8所示。

图 1.7 创建Win32 Console Application 工程 图 1.8

向导第 1 步(3)单击“完成”按钮后,弹出一个确认对话框,单击“确定”按钮。然后单击工

具栏上的“新建”按钮,在客户区输入以下代码:01 #include <iostream.h>02 void main( void )03 {04 cout<<"Hello World!"; //输出 Hello World05 cout<<endl;06 }

(4)选择“文件”|“另存为”命令,打开“保存为”对话框。将当前文件保存到工程路径下,并保存为.cpp文件,名称可以自定,如图 1.9所示。

(5)选择“工程”|“添加到工程”|Files命令,如图 1.10所示。

·7·

Page 7: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

图 1.9 保存 cpp 文件 图 1.10 向工程添加文件

(6)选择刚刚保存的 cpp文件,如图 1.11所示。然后选择“编辑”|“执行”命令,执行结果如图 1.12所示。

图 1.11 添加 cpp文件 图 1.12 执行结果1.2.3 创 建 基 于 MFC App Wizard ( exe) 的 “ Hello

World!”

MFC App Wizard(exe)工程是本书中最常用的工程,本节将介绍创建这种工程的 方法。

(1)选择“文件”|“新建”命令,打开“新建”对话框后选择“工程”选项。在工程中选择 MFC App Wizard(exe),并在窗体的右侧输入工程名称。为了与前一个工程区别,本工程的名称也与工程类型名相同为MFC App Wizard。单击“确定”按钮后,将弹出一个向导对话框,如图 1.13所示。

(2)这里可以选择单个文档工程(如写字板)、多重文档工程(如Word),还可以创建基本对话工程。单击“下一步”按钮进入向导第 2 步。从第 2 步开始选择默认选项,一直单击“下一步”按钮直到第 4 步,单击“完成”按钮结束向导。此时会弹出工程确认基

·8·

Page 8: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础本对话,单击“确定”按钮后,便完成了工程的创建工作。

(3)在工作区选择资源视图,选择对话框 IDD_MFCAPPWIZARD_DIALOG,可以看到在对话框资源上有一个静态文本框显示“TODO: 在这里设置对话控制。”。右击这个静态文本框会弹出快捷菜单,选择“属性”选项,则弹出静态文本框的“属性”对话框。在“标题”后的文本框中输入“Hello World!”,如图 1.14所示。

图 1.13 MFC App Wizard ( exe )工程向导第 1 步 图 1.14 修改静态文本框的属 性

(4)运行结果如图 1.15所示。

图 1.15 执行结果1.3 VC++ 集 成 开 发 环 境 使 用 技 巧

在使用VC++集成环境进行项目开发时,有效使用集成开发环境提供的各种工具,将有利于项目更加高效、高质地完成。VC++提供了一些编码常用的工具,如快速查找各种匹·9·

Page 9: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

配的括号、快速查看宏定义、代码格式快速格式化等。这些功能大多是通过快捷键实现的,本节将对这些实用的功能进行详细的说明。1.3.1 快 速 定 位

在编程时,常常需要查找关键内容,简单的内容通过编辑菜单中的“查找”命令即可实现,但是有些查找定位却需要其他的操作来实现。本节将详细介绍在 VC++集成开发环境中快速定位的几种常见方法。

(1)Ctrl+F查找指定的内容是最基本的定位方法。但是在VC++集成开发环境中,如果单击查找对话框上的搜索键,则仅能实现单次定位的功能。如果想实现连续的查找功能,则需要快捷键 F3来实现,F3是向下继续搜索,Shift+F3是向上继续搜索。

(2)预处理指令相关的快速定位方法。在预处理指令中,#if、#else、#ifdef、#endif 较为常用且成对出现。在集成开发环境中可以用快捷键Ctrl+J向上搜索这 4 条指令中的一条。用快捷键 Ctrl+K(Conditional Down)向下搜索最近的#if、#else、#ifdef、#endif,这也是定位对称的#if、#endif 预处理条件的常用方法。

(3)函数引用定位。用快捷键 F12 即可跳到函数的引用处,当然也可以在右键快捷菜单中,选择转到函数、变量等的声明处。

(4)宏定义快速定位。把光标移动到你想了解的一个宏上,如在VC++工程中最常见的 DECLARE_MAP_MESSAGE 宏上,按下 F12 键(或选择右键快 捷菜单中的 Go To Defition Of …选项)。如果没有建立 Browse files,会出现提示对话框,单击“确定”按钮后就会跳到定义这些宏的地方。

(5)括号是 C、C++编程常用的符号,且大多数的括号是成对出现的。在功能整理及代码纠错时,会经常查看各种括号的匹配情况。一般工程代码量非常大,手动查找难免出错且效率低,因此可以使用VC++提供的快速括号匹配查看功能。

把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,如图 1.16所示。按下快捷键 Ctrl+]。如果括号匹配正确,光标就跳到匹配的括号处,如图1.17所示。否则光标不移动,并且机箱喇叭还会发出警告声。

·10·

Page 10: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础 图 1.16 将要匹配的括号 图 1.17 匹配结果1.3.2 快 速 格 式 化 一 段 源 代 码

良好的书写风格非常有利于程序的开发,但有时由于某些原因导致代码缩进无序,看着头疼。如果手动改正则需要大量的精力与时间,VC 提供了快速格式化代码的功能,快捷键为Alt+F8。

将缩进无序的代码选中,如图 1.18所示,然后按下 Alt+F8键,代码将格式化为有序缩进格式,如图 1.19所示。

图 1.18 排序前 图 1.19 排序后1.3.3 从 工 程 中 彻 底 删 除 一 个 类

有时由于中途需求、编码设计的改变,可能需要从工程中删除一些类。如何快捷彻底地删除这些类是很大的问题,因为类可能有头文件、实现文件等,又放在不同的地方。

笔者当初也为这个问题伤透了脑筋,经过一段时间的探索,终于找到了有效的方法。首先需要到工作区的 File View中,找到将要删除类的头文件(.h文件)及类的实现文件(.cpp文件),然后将这两个文件删除(用 Delete键)。再到工程文件夹中将类文件彻底删除,最后再删除 clw文件。打开项目后,选择“编译”|“重新编译所有文件”命令重新编辑 项目。

·11·

Page 11: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

1.3.4 在 VC++ 中 设 置 头 文 件 和 库 文 件

除了 VC++默认的头文件和库文件外,还经常会用到第三方的头文件和库文件。如果它们在项目开发中经常用到,则应选择“工具”|“选择”命令,打开“选择”对话框。选择“目录”选项卡,在“显示目录为”下拉列表框中选择 LiBrary files选项。在“路径”编辑区添加静态链接库的路径,如图 1.20所示。如果只是本项目要用到,可选择“工程”|“设置”命令,打开工程设置对话框。在“Link”选项下的“对象/库模块”中添加库文件名称,如图 1.21所示。1.3.5 在 工 作 区 导 入 多 个 项 目

VC++集成开发环境通过工作区(work space)组织项目(project),通过项目组织程序。一个工作区可以组织多个不同的项目,一个项目是一个独立的程序,可以包含多个程序文件。

图 1.20 添加集成环境库文件路 径 图 1.21 添加项目库文件

在工程需要多个项目来共同完成时,要将这些项目导入到同一个工作区中,使程序处理起来更加方便。如何将这几个项目导入到同一个工作区中,可能是很多程序员头疼的 事情。

首先需要打开一个项目(*.dsp文件),然后选择 Project|Insert Project into Workspace命令,在打开的对话框中选择另一个项目文件(*.dsp文件)。如此便向工作区添加了两个项目。再多的项目实现同样可以依此类推。提示:在 ClassView视图中,用鼠标右键可以激活其中任意某个项目。

·12·

Page 12: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础

1.4 VC++ 集 成 开 发 环 境 常 见 问 题 及 解 决 方 法

在使用VC++集成环境时,经常会遇到一些问题。这些问题同程序的编码可能并无关系,但是却会影响整个工程无法实现。同编码无关的问题即为开发环境配置或使用过程中出现的问题,特别是初学者,对于这些问题可能无所适从。本节将详细介绍 VC集成开发环境中经常遇到的问题及解决方法。1.4.1 工 程 文 件 简 介

在介绍 VC++集成开发环境的常见问题之前,需要先介绍 VC++工程的文件类型,因为这些文件是 VC++集成开发环境常见问题的根源,也是解决问题的根源。常见的工程文件有 13 种,如表 1.3所示。

表1.3 常见VC++工程文件类型说明类型(文件后缀

即扩展名) 说 明opt 工程关于开发环境的参数文件,如工具条位置等信息ncb

无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件,build后会自动生成

clwClassWizard信息文件,实际上是INI文件的格式。有时ClassWizard出问题时,手工修改CLW文件便可以解决。当此文件不存在时,每次调用ClassWizard的时候会提示是否重建

续 表类型(文件后缀

即扩展名) 说 明dsp 项目文件(DeveloperStudio Project),文本格式dsw (DeveloperStudio Workspace)是工作区文件,其特点和dsp相似aps 资源辅助文件(AppStudio File),二进制格式plg

编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大。在Tools|Options菜单里有一个Build(编译)选项,可控制此文件的生成

hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理mdp

(Microsoft DevStudio Project)旧版本的项目文件,当打开此文件时,会提示是否转换成新的DSP格式

bsc是用于浏览项目信息,当用Source Brower时,就必须有这个文件。如果不用这个功能时,可以在Project Options里去掉Generate Browse Info File,可加快编译速度

·13·

Page 13: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1章 VC++ 6.0程序设计简介

map 是执行文件的映像信息记录文件pch (Pre-Compiled File)是预编译文件,可以加快编译速度pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候有用exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息

1.4.2 常 见 问 题 及 解 决 方 法

问题一:如何在项目中加入自己定义的类在进行项目开发时,经常要为项目添加自定义类,如何为项目添加自定义类便成了

初学者的一个大问题。【解决方法】向项目中添加自定义类的方法很多,在这里介绍一个较简便的方法:选择 Insert|New

Class命令。弹出对话框后,选择 Class Type为 generic,并输入类名。问题二:时间错误文件只改动了一个文件,却要把整个项目全部重新编译链接一次。在链接完成后,开始运

行时却又提示重新编译链接一次。这主要是因为出现了时间错误文件的缘故。【解决方法】找出工程文件夹下的 debug目录,将时间错误文件全部删除,再重新编译一次(时间

错误是指文件的创建和修改时间都比系统时间靠后)。问题三:Work Space中的 Class View显示混乱有时添加的成员变量或函数不能显示,有时即使显示出来了变量或函数,但双击后

不能跳至正确的位置。【解决方法】删除 ncb文件,再重新编译全部文件(ReBuild All)。问题四:Class View中消失的类有时一些类会突然从工作区的类视图(Class View)中消失,此时为这个类添加变量、

函数,或者查找该类的特定变量、函数定义与实现都极为不便。【解决方法】此时的类只是隐藏了,打开文件视图(File View),找到类视图(Class View)中隐

藏类的头文件,按下键盘的空格键,类就会重现在类视图中;也可以关闭工程,删除 clw工程文件后,重新打开工程,重新编译全部后再次生成 clw。

问题五:对话框上按下 Enter键后自动关闭当对话框获取焦点时,按下 Enter键,对话框会自动关闭。这是很多程序员不想做的

事情,但是VC工程却提供了默认的这种操作。【解决方法】有两种办法可以解决这个问题,读者可以根据实际需求进行选择。(1)去掉对话框上的“确定”按钮的“缺省”属性前面的对勾,重载OnOk()函数,

在OnOk()函数里注释掉调用基类中OnOk()函数的那行代码。·14·

Page 14: 第6章 SWT概述 · Web view虽然后来又有VC++ 7.0,但由于受操作系统的局限不能有效推广,而VC++ 6.0友好的开发界面,使其一直都是非常流行的开发工具。VC++

第 1篇 Visual C++项目开发基础(2)重写对话框的 PreTranslateMessage()函数,屏蔽 Enter键,实现如下:01 BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg) 02 {03 if(pMsg-> message == WM_KEYDOWN) //键盘按键事件04 { 05 if(pMsg-> wParam == VK_RETURN) //Enter键06 { 07 return TRUE; 08 } 09 }10 return CDialog::PreTranslateMessage(pMsg);11 }

1.5 小 结

在进行编程之前需要先熟悉开发环境,如本章介绍的开发环境菜单栏、工具栏、客户区、工作区及输出区。限于篇幅,本章所介绍的内容非常有限(特别是菜单栏的功能非常丰富),所以读者在使用 VC++环境的时候需要时时总结,学习的知识只有在实践中使用,才能得到深刻的理解。

VC++可开发的工程项目种类繁多,本章介绍了几种常用工程的开发方法。如动态链接库、静态链接库、ActiveX等项目虽然也比较常见,但是与本书后面的章节关系比较小,因此没有介绍。如果读者感兴趣,可以查阅相关的资料,这将对于开发功能更加完善的项目非常有利。

·15·