欢迎来到天天文库
浏览记录
ID:13070627
大小:6.05 MB
页数:150页
时间:2018-07-20
《vs2005窗体基础教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualC++2005教程目录第一章:Windows程序开发简介2DOS中用户使用软件的方式2Windows中用户使用软件的方式3Windows中程序运行的机制3第二章:Windows编程初步5第一个程序5查看系统库函数的帮助说明19设置控件的属性20完成的程序24输入数据的控件26第三章:Windows编程进阶33列表框控件34单选框控件36组合框控件37复选框控件40列表框控件44图片控件48更多的功能49完整的示例代码50第四章:Windows图形编程60创建菜单61创建工具条67绘制图形74第五章:数
2、据库编程79数据库简介79数据库的建立80ODBC数据源的设置方法85数据库的访问方法90一个实际的例子94第六章:线程机制112线程的概念112线程的状态113线程的优先级114线程的创建和管理114一个演示示例115前台线程和后台线程117线程优先级119挂起线程和恢复线程119终止线程120时钟线程120第七章:网络编程121TCP/IP协议原理介绍122Internet概述122TCP/IP协议122网络应用程序的运行模式125.NetFrameWork中的Socket类库126访问网页131一个聊天程序
3、134第一章Windows程序开发简介开发运行在Windows操作系统中的软件需要掌握关于Windows系统下编程的技术,现在业界有多种成熟的Windows开发技术,在本书中,将介绍使用.NetFramework来开发Windows软件。那什么是.NetFramework呢?简单的说.NetFramework就是一个C++的类库,专门用来简化Windows程序设计的。大家以前学习的C++是DOS下的编程模式,编写出来的程序只能在DOS下面运行,但是现在随着Windows的流行,仅仅编写DOS的应用程序已经不能满足
4、当前计算机用户的需要了,所以从现在开始要学习如何编写Windows的应用程序。由于DOS和Windows两种操作系统运作方式的巨大差异,导致了写DOS程序和写Windows程序在程序的写法上有很大的不同。下面先讲述一下在DOS和Windows两种操作系统下用户是如何使用软件的:1.DOS中用户使用软件的方式假设用户现在在运行一个记账的软件,这个软件有两个版本:DOS版本和Windows版本。在DOS中,DOS版本的软件会在屏幕上显示如下的菜单:请选择下列操作:1.创建一个账号2.删除一个账号3.修改一个账号4.录
5、入数据5.退出然后用户用键盘输入命令代号,软件根据命令代号执行相应的功能。2.Windows中用户使用软件的方式而在Windows中,所有的应用程序都不再使用这种文本方式的界面了,取而代之的是窗口化的界面,如下图所示:这种窗口化的界面尽管也有菜单,但是其操作方式和工作原理和DOS中的完全不同。在DOS中,用户一般使用键盘输入命令和数据,程序使用cin或者scanf()函数来获取用户的输入命令;而在Windows中,用户既可以使用键盘来操作,也可以使用鼠标来操作,而且鼠标既可以点击菜单,也可以点击工具栏,所以在Wi
6、ndows程序中,仅仅使用cin函数来获得用户的输入命令和数据已经远远不够了。因此为了开发Windows程序,Windows提供了一套全新的函数供软件设计者获得用户的输入。除此之外,为了要在屏幕上面显示出窗口,还要在窗口中显示不同字体,颜色的文字,甚至还有图形和动画,Windows还提供了其它一些相应的函数来完成这些功能。所有的这些函数被微软公司统称为WindowsAPI函数,或者是Win32API函数(因为现在的Windows操作系统一般是32位的操作系统)。3.Windows中程序运行的机制下面讲述一下在Wi
7、ndows中程序是如何运行的。在Windows中,用户既可以使用键盘来操作,也可以使用鼠标来操作,而且鼠标既可以点击菜单,也可以点击工具栏。为了使处理方式简单化,在Windows中,程序使用了一种称为消息的模式来获取用户的输入。一个消息由一组4个数据组成,分别是消息的类型,接受消息的窗口,消息中包含的数据(两个32位的整型数,分别命名为wParam和lParam)。比如说用户选择了某个菜单项,Windows系统就向相应的窗口发送如下的消息:消息类型:WM_COMMAND//表示是一个命令消息接受消息的窗口:AwP
8、aram:菜单项的代号lParam:空一般在Windows程序中都会设置一个无限循环来获取消息并根据所获取的消息调用相应的消息处理函数,如下所示://Mainmessageloop:while(GetMessage(&msg,NULL,0,0)){if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg)){TranslateM
此文档下载收益归作者所有