vs2005教程Word格式文档下载.doc
《vs2005教程Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《vs2005教程Word格式文档下载.doc(150页珍藏版)》请在冰豆网上搜索。
单选框控件 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开发技术,在本书中,将介绍使用.NetFramework来开发Windows软件。
那什么是.NetFramework呢?
简单的说.NetFramework就是一个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还提供了其它一些相应的函数来完成这些功能。
所有的这些函数被微软公司统称为WindowsAPI函数,或者是Win32API函数(因为现在的Windows操作系统一般是32位的操作系统)。
3.Windows中程序运行的机制
下面讲述一下在Windows中程序是如何运行的。
在Windows中,用户既可以使用键盘来操作,也可以使用鼠标来操作,而且鼠标既可以点击菜单,也可以点击工具栏。
为了使处理方式简单化,在Windows中,程序使用了一种称为消息的模式来获取用户的输入。
一个消息由一组4个数据组成,分别是消息的类型,接受消息的窗口,消息中包含的数据(两个32位的整型数,分别命名为wParam和lParam)。
比如说用户选择了某个菜单项,Windows系统就向相应的窗口发送如下的消息:
消息类型:
WM_COMMAND//表示是一个命令消息
接受消息的窗口:
A
wParam:
菜单项的代号
lParam:
空
一般在Windows程序中都会设置一个无限循环来获取消息并根据所获取的消息调用相应的消息处理函数,如下所示:
//Mainmessageloop:
while(GetMessage(&
msg,NULL,0,0))
{
if(!
TranslateAccelerator(msg.hwnd,hAccelTable,&
msg))
{
TranslateMessage(&
msg);
DispatchMessage(&
}
}
GetMessage()函数获取当前发送给该窗口的消息,TranslateMessage()函数把消息翻译一下,然后由DispatchMessage()函数调用相应的消息处理函数来执行对应的功能。
在Windows中界面是由窗口构成的,那么程序如何创建窗口呢?
这需要用到一个叫做CreateWindow()的函数,这个函数负责创建一个窗口,并设定窗口的大小,位置,标题文字,风格,窗口的消息处理函数等等。
在创建好了窗口之后,程序还要负责在窗口中显示内容,否则的话窗口就像是透明的,可以看到窗口后面的东西。
这项工作也是在一个消息处理函数中完成的。
但为什么是在一个消息处理函数中完成而不是调用一个普通的绘图函数?
这是因为Windows的显示方式和DOS不一样。
在DOS中,由于一次只能运行一个程序,所以一个程序显示的文字不会被别的程序抹掉,而在Windows中,由于可以有多个程序同时运行,因此如果A程序在窗口中显示了内容后就不去管它的话,一旦用户切换到别的程序,而那个程序的窗口和A程序的窗口又有重叠时,那个程序就会把A程序窗口中的内容给覆盖掉,代之以它的内容。
那么等到用户使用完那个程序后回到A程序,A程序窗口中的内容就将是那个程序的内容了。
为了避免这种情况的发生,在Windows中一个窗口什么时候应该显示内容是由Windows系统本身来控制的,如果Windows系统发现一个窗口被激活了,需要更新它窗口中的内容,它就会发送一条名为WM_PAINT的消息给那个窗口,通知它“你要更新一下你窗口里面的内容了!
”。
所以在Windows程序中,几乎所有的显示工作都是在WM_PAINT的消息处理函数中完成的。
由于Windows程序运作机制的复杂性,如果仅仅使用WindowsAPI函数来写Windows程序的话,一般一个最小的Windows程序也需要一百多行的代码,这和DOS下的程序往往寥寥数行就可以解决问题形成了鲜明的对比。
为了解决Windows程序开发繁琐的问题,微软推出了一套名为.NetFramework(简写为.Net)的C++类库,旨在简化Windows软件的开发。
在这套类库中,几乎所有常用的WindowsAPI函数都被封装在相应的类里面,而且.NetFramework还提供了一套现成的程序模版,通过对模版程序的简单修改,程序员就能够很快的编写出一个标准的Windows程序。
第二章Windows编程初步
下面几章的重点就将讲述如何使用.NetFramework来开发Windows程序。
首先先介绍一下开发用的软件:
VisualStudio2005。
这是微软公司推出的一套专门用于开发Windows程序的开发环境。
在这个环境中,可以完成各种Windows软件的开发。
1.第一个程序
启动VisualStudio2005后可以看到类似下面的界面:
在VisuallStudio2005里面写程序,哪怕是很小一个程序都需要建立一个项目,项目实际上就是一堆文件的集合。
因为在编写大型软件时往往一个软件会由几千个源文件组成,为了保证可以轻松的找到需要的文件,VisuallStudio2005中采用“项目”和“解决方案”这两个概念来管理所有这些文件。
“解决方案”包括所有的文件,可以包含多个“项目”,每一个项目是一个独立的程序,也可以是一个供其它项目使用的公共库。
下面给出建立一个项目的具体步骤:
选菜单“文件/新建/项目”,如下图所示:
项目的名称设为“DemoOne”,类型为“CLR控制台应用程序”,解决方案的名称设为“Demo”,如下图所示:
点击“确定”按钮后一个新的解决方案和项目就建立好了,如下图所示:
现在在源代码窗口中输入如下的代码:
#include"
stdafx.h"
usingnamespaceSystem;
intmain(array<
System:
:
String^>
^args)
{
Console:
WriteLine(L"
HelloWorld!
\n"
);
Press'
Enter'
keytoquit............"
Console:
ReadLine();
return0;
}
这是一个传统的命令行程序,现在来执行这个程序,点击如下图所示的菜单就可以运行程序了:
如果是第一次运行VisuallStudio2005,可能会出现如下的提示,这时点击“是”就可以了。
程序的运行结果如下(按下回车键结束程序):
第一个小程序就写好了,但是这是一个传统的命令行程序,体现不出Windows编程的特点,所以下面再来写一个真正具有Windows风格的程序。
刚才已经建立了一个“解决方案”和一个“项目”,现在在这个“解决方案”中再添加一个“项目”,在“解决方案”名字上点击鼠标右键,选择“新建项目”,如下图所示:
这时会出现一个对话框,让用户选择项目的类型,现在要写的是一个Windows程序,所以选择“Windows窗体应用程序”,然后在“名称”一栏里面填入项目的名字,在这里叫它“Hello”,如下图所示:
项目建立好了就会出现如下图所示的界面,一个空白的窗体。
在上图中可以看到,现在有两个项目在解决方案“Demo”里面,一个叫“DemoOne”,一个叫“Hello”,这两个程序互相不会影响。
注意到其中“DemoOne”的字样是粗体,这表示“DemoOne”这个项目是启动项目,这就是说,用户点击“启动调试”菜单运行程序时,“DemoOne”这个程序将被运行,但是现在需要调试的是“Hello”这个程序,所以需要把“Hello”设为启动项目,这只需在“Hello”上面点击鼠标右键,选“设为启动项目”就可以了,如下图所示:
现在这个空白的窗体程序什么事情都干不了,但是这个程序是个很好的起点,用户可以在它的基础上添加各种其它的功能。
下面给它添加一个按钮:
首先将鼠标箭头移到屏幕右侧的“工具箱”标签上面,这是屏幕右边会弹出一个“工具箱”窗口,里面列出了各种各样