预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VisualC++教程(第2版) 第1章Windows编程基础 CHAPTER 第1章 Windows编程基础 基于Windows的编程方式有两种。一种是使用Windows的API(ApplicationProgrammingInterface,应用程序编程接口)函数,通常用C/C++语言按相应的程序框架进行编程。这些程序框架往往就程序应用提供相应的文档、范例和软件开发工具包(SoftwareDevelopmentKit,SDK),所以这种编程方式有时又称为SDK方式。另一种是使用“封装”方式,例如VisualC++的MFC方式,它是将SDK中的绝大多数函数、数据等按C++“类"的形式进行封装,并提供相应的应用程序框架和编程操作. 事实上,无论是哪种编程方式,人们最关心的内容有三个:一是程序入口,二是窗口、资源等的创建和使用,三是键盘、鼠标等所产生的事件或消息的接收和处理。本章就来讨论这些内容。 1。1从main到WinMain 学习编程往往从简单的例子入手,例如一个C程序常有下列简单的框架代码: #include〈stdio。h> intmain() { printf("HelloWorld!\n"); /*输出*/ return0; /*指定返回值*/ } 事实上,该程序已包括C程序中最常用的#include指令、必须的程序入口main函数、库函数printf调用和return语句。由于此程序是在早期的DOS(DiskOperatingSystem,磁盘操作系统)环境的字符模型下运行的,因而printf函数所输出的都是字符流,也就是说,它在屏幕上输出一行文本“HelloWorld!”。在Windows环境下,这里的屏幕就由控制台窗口来兼作,而基于Windows的上述C程序代码框架肯定是有所不同的。特别地,由于目前所在的Windows环境基本上都是32位,所以这里的Windows程序平台就是Win32,Windows编程可直接理解为是Win32编程。 1.1.1Windows等价程序 等价的Windows程序可以写成: HelloMsg。c #include<windows.h〉 intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance, PSTRszCmdLine,intnCmdShow) { MessageBox(NULL,TEXT("Hello,World!"),TEXT(”Hello”),0); return0; } 在深入剖析上述程序之前,先来看一看在VisualC++6。0中的编辑、连接和运行的过程: 图1.1“每日提示”对话框 ①选择“开始”→“程序"→MicrosoftVisualStudio6.0→MicrosoftVisualC++6。0,运行VisualC++6.0。第一次运行时,将显示如图1。1所示的“每日提示”对话框。单击“下一条”按钮,可看到有关各种操作的提示。如果在“启动时显示提示”复选框中单击鼠标,去除复选框的选中标记“”,那么下一次运行VisualC++6.0,将不再出现此对话框。单击“关闭”按钮关闭此对话框,进入VisualC++6.0开发环境。 ②选择“文件”→“新建”菜单命令,打开应用程序向导,显示出“新建”对话框,如图1.2所示。选择“工程”选项卡,从列表框中选中Win32Application(Win32应用程序)项(图1。2中的标记1)。 ③单击“位置”编辑框右侧的“浏览"按钮(图1.2中的标记2),从弹出的“选择目录”对话框指定项目所在的文件夹,如图1。3所示(图中的数字标记表示最经常的操作次序,下同)。单击“确定"按钮,退出“选择目录”对话框,回到“新建”对话框中. 需要说明的是,为了便于程序的管理和查找,本书所涉及的程序均放入VisualC++6。0的工作文件夹“VisualC++程序”中,第1章程序放入子文件夹“第1章"中,第2章程序放入子文件夹“第2章”,依此类推。 ④在“新建”对话框的“工程名称”编辑框(图1。2中的标记3)中,输入项目名称Ex_HelloMsg,保留“平台"下Win32复选框的默认“选中”状态,单击“确定”按钮进入下一步。 ⑤出现Win32Application向导的“步骤1共1步”对话框,从中可选择要创建的应用程序类型:“一个空工程”、“一个简单的Win32程序”和“一个典型的"HelloWorld!"程序”,如图1。4所示。它们的区别在于:“一个空工程”仅创建Win32应用程序文件框架,不含任何代码;“一个简单的Win32程序"是在“一个空工程"基础上添加了程序框架(有入口函数、#include指令等);“一个典型的‘HelloWorld!'程序