VisualC基础教程.ppt

上传人:公**** 文档编号:571188315 上传时间:2024-08-09 格式:PPT 页数:34 大小:578.55KB
返回 下载 相关 举报
VisualC基础教程.ppt_第1页
第1页 / 共34页
VisualC基础教程.ppt_第2页
第2页 / 共34页
VisualC基础教程.ppt_第3页
第3页 / 共34页
VisualC基础教程.ppt_第4页
第4页 / 共34页
VisualC基础教程.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《VisualC基础教程.ppt》由会员分享,可在线阅读,更多相关《VisualC基础教程.ppt(34页珍藏版)》请在金锄头文库上搜索。

1、Visual C+ 开发基础成稿2002年9月7日修订2002年9月8日2002年10月11日撰稿人王咏刚主讲王咏刚Visual C+ 开发基础Visual C+ 开发基础Visual C+是如何诞生的?C语言和C+语言是如何诞生的?C语言和C+语言究竟有什么关系?C语言、C+语言和Java语言、C#语言有什么关系?几个与历史有关的问题Visual C+ 开发基础最最适适用用的的语语言言才才是是最最好好的的语语言言高级程序设计语言的发展历史Visual C+ 开发基础B. StroustrupJ. GoslingA. Hejlsberg三个影响历史的关键人物Visual C+ 开发基础C语言来

2、自与B语言,B语言是BCPL语言的简化,而BCPL语言又简化自CPL语言C语言的发明者是贝尔实验室的D. Ritchie1978年有了以K&RC语言程序设计一书为代表的非官方标准。K&R指的是B. Kernighan和D. Ritchie1989年ANSI颁布了ANSI版的C语言标准,即C891999年,ISO/ANSI发布了C语言的最新标准,即C99直到今天,C语言仍然是一种年轻的和不断进步的语言,仍然是具有最强的系统描述能力的语言C语言的演化Visual C+ 开发基础1979年,C+语言的雏形,CPre诞生,这种语言也叫“带类的C”1983年底,C+得名1984年拥有了非官方的标准C84

3、1989年非官方标准演化成带标注的C+参考手册,即著名的ARMC+语言的官方标准直到1998年9月才正式发布。在国际标准化组织(ISO)的档案库里,C+标准的代号是ISO/IEC 14882:1998C+是一中多范例的语言C+并不是100%和C语言保持兼容丹麦人B. Stroustrup说:“C+是一种通用程序设计语言,其设计目的就是为了使真正的程序员更多地感受到编程的快乐。” C+语言的演化Visual C+ 开发基础语法词法C+的源代码已可以适应ASC II以外的字符集文法C+具备上下文无关文法的所有特征语义C+是多范例的语言运行环境操作系统C+几乎适用于所有操作系统编译或解释环境GNU

4、C+Borland C+ BuilderMicrosoft Visual C+Microsoft Visual C+ .NET运行时间库Standard C+ Library(STL)Cross-platform component library(CLX)MFC & ATL一门完整的程序设计语言必须具备的要素Visual C+ 开发基础#include#include#includeusingnamespacestd;voidmain()strings;couts;coutHello,+sendl;doubled;coutd;coutsetw(20)setprecision(2)setios

5、flags(ios:fixed)dendl;一个使用C+ Standard Library的C+程序例子Visual C+ 开发基础程序中的数据究竟存储在什么位置?下面这些数据的存储位置相同吗?全局变量局部变量动态分配的变量空间什么是虚拟存储空间?什么是线性地址?什么是内存交换文件?几个问题Visual C+ 开发基础计算机是处理数据的自动机。程序运行时,数据的存储位置有3个:静态存储区、堆、栈数据的存储位置Visual C+ 开发基础classXpublic:intm;classYpublic:intn;voidfoo(intn)for(inti=0;in=n;Yyes;voidmain()

6、Y*no=newY();yes.foo(10);no-foo(20);deleteno;一个使用了静态存储、堆和栈的C+程序例子Visual C+ 开发基础什么是编译?什么是连接?为什么要编译和连接?几个问题Visual C+ 开发基础C+代码的编译和连接Visual C+ 开发基础Visual C+来源于Microsoft C/C+目前Visual C+的最新版本是Visual Studio .NET 7.0中的Visual C+ .NET 7.0实际开发中常用到Visual Studio 6.0中的Visual C+ 6.0( Visual Studio 6.0最新的Service Pac

7、k版本是SP5)Visual C+中的用户界面和基本概念解决方案(Workspace)项目(Project)生成(Make)编译(Build)编译方式(Build Type/Build Configuration)项目设置(Project Setting): 编译/连接/调试选项Visual C+ 简介Visual C+ 开发基础演示Visual C+开发控制台程序的方法扼要演示Visual C+开发静态连接库的方法扼要演示Visual C+开发动态连接库的方法用Visual C+开发控制台程序Visual C+ 开发基础WIN 32GUI程序的要素v 进程v 线程v 窗口v 资源v 窗口类v

8、 窗口属性v 窗口函数v 消息v 消息队列v 消息处理v 对话框WIN32是基于DLL的运行环境kernel32.dlluser32.dllgdi32.dll演示Microsoft Depends的用法什么是WIN32环境?什么是GUI程序?演示Visual C+资源编辑器的用法DIALOGICONMENUBITMAPSTRINGVERSIONVisual C+ 开发基础消息:由一个消息消息:由一个消息ID,一个,一个wParam(32位位)参数和一个参数和一个lParam(32位位)参数组成参数组成typedefstructtagMSGmsgHWNDhwnd;UINTmessage;WPAR

9、AMwParam;LPARAMlParam;DWORDtime;POINTpt;MSG;消息分类消息分类消息队列消息队列消息循环消息循环消息和线程的关系消息和线程的关系WIN32窗口系统的核心:消息管理演示Microsoft Spy+的用法Processes ListThreads ListWindows ListWindow Class PropertiesMessage LoggingVisual C+ 开发基础基本的基本的WIN32程序包含两个主要函数,程序包含两个主要函数,WinMain和和WndProc:WinMain函数函数注册窗口类注册窗口类创建窗口创建窗口显示窗口显示窗口消息循

10、环消息循环WndProc回调函数回调函数处理消息处理消息未处理消息传给未处理消息传给DefWindowProc开发一个简单的WIN32窗口程序主消息循环代码的写法主消息循环代码的写法while(GetMessage(&msg,NULL,0,0)TranslateMessage(&msg);DispatchMessage(&msg);Visual C+ 开发基础#includeWinMain()/Instance/WNDCLASS;/CreateWindow();/MainMessageLoopWndProc()/switch()/WM_CREATE/WM_PAINT/WM_SIZE/WM_CL

11、OSE/WM_DESTROYDeviceContextPaintDCMemoryDCGDIObject:PenBrushDrawingFunctions:开发一个简单的WIN32窗口程序UserInputsMouseEventsKeyboardEventsFocusVisual C+ 开发基础ChildWindows在在WM_CREATE消息中创建子窗口消息中创建子窗口创建一个包含图形元素的子窗口创建一个包含图形元素的子窗口创建一个按钮子窗口创建一个按钮子窗口WM_SIZE的处理的处理WM_PAINT的处理的处理WM_CLOSE的处理的处理WM_DESTROY的处理的处理WIN32Contro

12、lsStaticEditButtonRadioButtonCheckBoxListComboBoxProgressScollBars开发一个简单的WIN32窗口程序Visual C+ 开发基础#includeWinMain()/DialogBox();DialogProc()/switch()/WM_INITDIALOG/EndDialog();Dialog模式对话框模式对话框无模式对话框无模式对话框开发一个简单的WIN32对话框程序Visual C+ 开发基础MFC是Microsoft提供的类库,包含了以下功能用户界面开发(对话框,单窗口和多窗口)基本文件I/O数据库开发网络编程(TCP/I

13、P, FTP, Internet)OLE支持(OLE容器,客户端,复合文档)ActiveX支持(用户控件、自动化对象)容器类(数据结构、基本算法)调试、跟踪、测试支持什么是MFC?Visual C+ 开发基础MFC的类结构:CObject是其中最基本的类Visual C+ 开发基础向导生成的是源代码的框架MFC的应用程序向导Visual C+ 开发基础使用Visual C+提供的ClassWizard工具(该工具的使用方式在Visual Studio .NET中略有变化)在ClassWizard中添加消息处理过程在ClassWizard中添加新类使用Visual C+提供的类视图工具使用MFC

14、开发对话框程序演示ClassWizard的用法新建类添加类成员类的继承关系多态、重载的实现消息处理控件-变量对应关系Visual C+ 开发基础CWinApp类 CDialog类 CFrameWnd类虚函数的作用:重新实现CDialog或CWnd的特性消息循环在MFC中的实现:BEGIN_MESSAGE_MAP(CTttDlg,CDialog)/AFX_MSG_MAP(CTttDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_EN_CHANGE(IDC_EDIT1,OnChangeEdit1)/AFX_MSG_MAPEND_M

15、ESSAGE_MAP()理解MFC生成的框架代码的结构Visual C+ 开发基础Visual C+的文档-视结构使用MFC开发窗口程序Visual C+ 开发基础Visual C+的文档-视结构4个关键类:CDocTemplate、CDocument、CFrameWnd、CViewCSingleDocTemplate*pDocTemplate;pDocTemplate=newCSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CTttDoc),RUNTIME_CLASS(CMainFrame),RUNTIME_CLASS(CTttView);AddD

16、ocTemplate(pDocTemplate);CCommandLineInfocmdInfo;ParseCommandLine(cmdInfo);if(!ProcessShellCommand(cmdInfo)returnFALSE;使用MFC开发窗口程序Visual C+ 开发基础MFC下图形对象、控件的用法OnDraw()使用CPaintDC和CDCCPenCBrushCFontCMenuCButtonCProgressCtrlCListBoxCListView/CListCtrlCTreeView/CTreeCtrlVisual C+ 开发基础管理文档-视结构CDoucment:On

17、NewDocument()OnOpenDocument()Serialize()UpdateAllViews()IsModified()SetModifiedFlag()CView:PreCreateWindow()OnDraw()GetDocument()OnUpdate()CFrameWnd:GetActiveFrame()GetActiveView()GetActiveDocument()LoadFrame()Visual C+ 开发基础使用Visual C+开发数据库访问程序访问数据库的不同方式1.数据库软件本身的接口API2.嵌入式C语言代码3.ODBC4.DAO5.RDO6.ADO

18、(面向对象的ODBC)7.NET类库中的数据库访问模块Visual C+中支持ODBC的类是CDatabase系列支持DAO的是CDaoDatabase系列支持ADO的办法是使用ActiveX自动化对象Visual C+ 开发基础基于网络连接的数据库访问基础数据库服务数据库服务 Database Server服务端交易环境服务端交易环境 (数据库脚本语言数据库脚本语言):存储过程存储过程/触发器触发器/外部存储过程外部存储过程T-SQL in SQL Server, PL/SQL in Oracle操作系统操作系统 OS服务端通信模块服务端通信模块客户端通信模块客户端通信模块公共数据库接口公共

19、数据库接口ODBC, ADO, 特定数特定数据库接口据库接口DB Library in SQL Server, Pro C/OCI in Oracle应用程序开发接口应用程序开发接口MFC, VB Controls, 应用程序应用程序网络连接Visual C+ 开发基础网络通信技术概览基于消息的通信技术UDP、TCP、COM、Named Pipes消息队列:MQ基于成熟应用协议的通信技术FTPMailHttp (Web Access)基于远程过程调用的通信技术RPC:远程过程调用CORBA:面向对象的远程过程调用Java RMI:Java语言面向对象的远程过程调用Web Services (XML/SOAP):依靠Web和XML实现的,面向对象的远程过程调用Visual C+ 开发基础网络通信编程涉及的相关概念通信协议/协议族地址/端口/端点服务端/客户端后台服务程序/连接数侦听/连接同步/异步打包/解包编码/解码发送/接收会话/进程/线程交易/队列/负载平衡

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号