VS2005教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual C++ 2005教程
目录
第一章:Windows程序开发简介 (2)
DOS中用户使用软件的方式 (2)
Windows中用户使用软件的方式 (3)
Windows中程序运行的机制 (4)
第二章:Windows编程初步 (6)
第一个程序 (6)
查看系统库函数的帮助说明 (19)
设置控件的属性 (20)
完成的程序 (24)
输入数据的控件 (26)
第三章:Windows编程进阶 (33)
列表框控件 (34)
单选框控件 (36)
组合框控件 (37)
复选框控件 (40)
列表框控件 (44)
图片控件 (48)
更多的功能 (49)
完整的示例代码 (50)
第四章:Windows图形编程 (61)
创建菜单 (61)
创建工具条 (67)
绘制图形 (74)
第五章:数据库编程 (80)
数据库简介 (80)
数据库的建立 (80)
ODBC数据源的设置方法 (86)
数据库的访问方法 (91)
一个实际的例子 (95)
第六章:线程机制 (114)
线程的概念 (114)
线程的状态 (114)
线程的优先级 (115)
线程的创建和管理 (116)
一个演示示例 (117)
前台线程和后台线程 (119)
线程优先级 (120)
挂起线程和恢复线程 (121)
终止线程 (121)
时钟线程 (122)
第七章:网络编程 (123)
TCP/IP协议原理介绍 (123)
Internet概述 (123)
TCP/IP协议 (124)
网络应用程序的运行模式 (127)
.NetFrameWork中的Socket类库 (128)
访问网页 (132)
一个聊天程序 (132)
第一章Windows程序开发简介
开发运行在Windows操作系统中的软件需要掌握关于Windows系统下编程的技术,现在业界有多种成熟的Windows开发技术,在本书中,将介绍使用.Net Framework来开发Windows 软件。那什么是.Net Framework呢?简单的说.Net Framework就是一个C++的类库,专门用来简化Windows程序设计的。大家以前学习的C++是DOS下的编程模式,编写出来的程序只能在DOS下面运行,但是现在随着Windows的流行,仅仅编写DOS的应用程序已经不能满足当前计算机用户的需要了,所以从现在开始要学习如何编写Windows的应用程序。由于DOS 和Windows 两种操作系统运作方式的巨大差异,导致了写DOS程序和写Windows程序在程序的写法上有很大的不同。
下面先讲述一下在DOS 和Windows 两种操作系统下用户是如何使用软件的:
1. DOS中用户使用软件的方式
假设用户现在在运行一个记账的软件,这个软件有两个版本:DOS版本和Windows版本。在DOS中,DOS版本的软件会在屏幕上显示如下的菜单:
请选择下列操作:
1. 创建一个账号
2. 删除一个账号
3. 修改一个账号
4. 录入数据
5. 退出
然后用户用键盘输入命令代号,软件根据命令代号执行相应的功能。
2. Windows中用户使用软件的方式
而在Windows中,所有的应用程序都不再使用这种文本方式的界面了,取而代之的是窗口化的界面,如下图所示:
这种窗口化的界面尽管也有菜单,但是其操作方式和工作原理和DOS中的完全不同。在DOS 中,用户一般使用键盘输入命令和数据,程序使用cin或者scanf()函数来获取用户的输入命令;而在Windows中,用户既可以使用键盘来操作,也可以使用鼠标来操作,而且鼠标既可以点击菜单,也可以点击工具栏,所以在Windows程序中,仅仅使用cin函数来获得用户的输入命令和数据已经远远不够了。因此为了开发Windows程序,Windows提供了一套全新的函数供软件设计者获得用户的输入。
除此之外,为了要在屏幕上面显示出窗口,还要在窗口中显示不同字体,颜色的文字,甚至还有图形和动画,Windows还提供了其它一些相应的函数来完成这些功能。所有的这些函数被微软公司统称为Windows API函数,或者是Win32 API函数(因为现在的Windows操作系统一般是32位的操作系统)。
3. Windows中程序运行的机制
下面讲述一下在Windows中程序是如何运行的。在Windows中,用户既可以使用键盘来操作,也可以使用鼠标来操作,而且鼠标既可以点击菜单,也可以点击工具栏。为了使处理方式简单化,在Windows中,程序使用了一种称为消息的模式来获取用户的输入。一个消息由一组4个数据组成,分别是消息的类型,接受消息的窗口,消息中包含的数据(两个32位的整型数,分别命名为wParam和lParam)。比如说用户选择了某个菜单项,Windows系统就向相应的窗口发送如下的消息:
消息类型:WM_COMMAND // 表示是一个命令消息
接受消息的窗口:A
wParam:菜单项的代号
lParam:空
一般在Windows程序中都会设置一个无限循环来获取消息并根据所获取的消息调用相应的消息处理函数,如下所示:
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
GetMessage()函数获取当前发送给该窗口的消息,TranslateMessage()函数把消息翻译一下,然后由DispatchMessage()函数调用相应的消息处理函数来执行对应的功能。
在Windows中界面是由窗口构成的,那么程序如何创建窗口呢?这需要用到一个叫做CreateWindow()的函数,这个函数负责创建一个窗口,并设定窗口的大小,位置,标题文字,风格,窗口的消息处理函数等等。
在创建好了窗口之后,程序还要负责在窗口中显示内容,否则的话窗口就像是透明的,可以看到窗口后面的东西。这项工作也是在一个消息处理函数中完成的。但为什么是在一个消息处理函数中完成而不是调用一个普通的绘图函数?这是因为Windows的显示方式和DOS不一样。在DOS中,由于一次只能运行一个程序,所以一个程序显示的文字不会被别的程序抹掉,而在Windows中,由于可以有多个程序同时运行,因此如果A程序在窗口中显示了内容后就不去管它的话,一旦用户切换到别的程序,而那个程序的窗口和A程序的窗口又有重叠时,那个程序就会把A程序窗口中的内容给覆盖掉,代之以它的内容。那么等到用户使用完那个程序后回到A程序,A程序窗口中的内容就将是那个程序的内容了。