Visual C++操作指南.docx
- 文档编号:5870081
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:18
- 大小:664.82KB
Visual C++操作指南.docx
《Visual C++操作指南.docx》由会员分享,可在线阅读,更多相关《Visual C++操作指南.docx(18页珍藏版)》请在冰豆网上搜索。
VisualC++操作指南
VisualC++6.0操作指南
VisualC++6.0强大的操作界面会令人眼花缭乱,但它同样强大的编程工具AppWizard(应用程序向导)的和Classwizard(类向导)使得编程变得非常简单,可视化(Visual)真正体现了面向对象的特征,很多人称之为点击编程,它使程序员的主要精力不是放在美化界面的设计上,而是致力于源代码本身。
这里介绍如何编写——个简单的应用程序,并介绍怎样在对话框窗口中增加一个命令按钮控制。
一、生成一个Hello应用程序
生成一个只弹出一个窗口,但无任何实际应用的Hello应用程序。
操作步骤如下:
1)进入VisualC++6.0的工作台,如图1所示。
图1VisualC++6.0的工作界面
2)从顶部“File”菜单中选“New”选项,出现一对话框,该窗口中有四个标签:
File、Project、Workspace、OtherDocments。
3)选择Project标签,在该页左边的编辑框中选择MFCAppWizard(exe)项,即要用生成一个可执行文件。
4)在ProjectName编辑框中输入要创建的工程文件的名字,在此命名为“Hello”。
5)在Location编辑框中选择存放该工程文件的路径和位置。
6)由于这是第一个工程文件,必须创建一个新的工作区,故“CreateNewWorkspace”选项必须选中。
7)在Platforms编辑框中选择win32。
表示我们使用的VisualC++6.0是在32位操作系统下运行的。
8)确定工程文件的类型、名称和路径选项后按OK按钮,就可以开始创建该工程文件了。
见图2所示。
图2New对话框
下面将在VisualC++6.0MFCAPPWizard的可视化指导下,根据自已的设计来生成应用程序的工程文件和应用程序的框架文件。
VisualC++6.0显示出—个MFCAppWizard-Step1的窗口,如图3所示。
这是生成工程文件的第一步,在这一步中的任务是选择创建什么类型的应用程序以及资源文件使用什么语言。
图3MFCWizard第1步
9)在“WhatTypeofApplicationWouldyouliketocreate?
”下有三项选择:
〇SingleDocument(单文档),一次只允许打开一个文档窗口。
⊙Multipledocuments(多文档),允许在同一个应用实例中打开多个文档窗口。
〇Dialogbased(对话框),将显示一个简单的对话框以便用户输入数据。
这里选择单文档结构。
另外还有一个Documen/viewarchitecturesupport复选框可以被选,选中此框应用框架会自动在应用中加入文档—视图结构支持的设置;否则,将手动加入。
10)在“Whatlanguagewouldyoulikeyourresourcein?
”中,选择“中文〔中国〕…”项。
11)单击“Next”按钮,进入第二步。
如图4所示。
图4MFCWizard第2步
图中是关于数据库支持的选项,VisualC++6.0提供了对MicrosoftVisualFoxpro,MicrosoftAccess等数据库的支持,对话框中关于数据库的选项含义如下:
⊙None不加入数据库支持
○Headerfilesonly只在工程中加入数据库头文件,并不为数据库创建视窗口。
○Databaseviewwithoutfilesupport应用框架为应用创建一个视窗口以显示数据库中的内容。
○Databaseviewwithfilesupport应用框架为应用创建一个视窗口以显示数据库中的内容,与上一选项不同的是,此选项有文件支持。
在此框中选中“None”按钮,(注:
选中None并不是说所创建的应用不能支持数据库访问,如果需要可以手动加入有关代码实现此功能),然后单击“Next”。
将会出现如图5所示的对话框。
图5MFCWizard第3步
12)在此框中暂时使用系统默认值,直接单击“Next”按钮,出现如图6所示对话框。
图6MFCWizard第4步
在此对话框中可以设置应用程序的以下基本特征:
•Dockingtoolbar生成的应用程序包含可拖动的工具栏。
(此项为系统默认选项)
•Initialstatusbar生成的应用程序包含状态栏,以指示键盘的状态信息和鼠标所在处的工具栏钮将要进行的操作。
•PrintingandpintpreviewMFC应用框架自动在生成的应用程序中加入消息映射函数以实现打印和打印预览功能。
•Context-sensitiveHelp为应用添加帮助按钮,可以帮助用户编写应用程序的相关帮助。
•3Dcontrols为应用添加三维控制。
•MAPI为应用程序添加消息应用程序接口。
•WindowsSockets实现应用程序与TCP/IP网络的通信。
•Normal传统风格的工具栏。
•InternetExplorerRebars具有IE风格的工具栏。
在对话框的“Howdoyouwantyourtoolsbarstolook成组圆形按钮中选择“InternetExplorerReBars”,此选项用来创建一个具有IE风格的工具条,由于VisualC++6.0对Interrnet更强劲的支持,使得在VisualC++6.0中创建IE风格的界面非常容易。
按下“Next”按钮后将会出现创建向导的第五步,见图7所示。
图7MFCWizard第5步
在此对话框中可指定应用的风格。
“Whatstyleofprojectwouldyoulike?
”询问你喜欢哪一种工程的风格,可选项有:
MFCStandard基本类库标准风格
WindowsExplorerWindows的资源管理器风格,应用的视区分2个视区。
在此选中“MFCStandard”。
“wouldyouliketogenerateresourcefilecomments”询问是否在生成的源代码中加注释。
在此应选Yes。
因为在Appwizard生成的应用程序源代码文件.cpp文件中加上代码的注释,有助于阅读和理解源代码的含义,毕竟visualC++还有代码编程部分。
可以指定的使用基本类库的方式也有两种:
AsasharedDLL使用共享的动态链接库
AsaStaticallylinkedlibrary使用静态链接库
在此应选“AsasharedDLL”。
即全部选择默认设置。
按下“Next”按钮后,将会出现创建过程的第六步,见图8所示。
图8MFCWizard第6步
在此对话框中VisualC++会告知用户,MFC应用框架为应用程序生成的所有类名及基类,而且还列出了生成的类的定义文件和执行文件名。
单击“Finish”按钮后,应用框架会弹出一个“NewProjectInformation”对话框,如图9所示。
图9有关应用程序的信息
在此对话框中,会列出将要生成的应用程序的主要特征。
单击对话框中的“OK”按钮,应用程序的创建就结束了。
此时将进入VisualC++6.0的工作界面窗口,见图10所示。
图10VisualC++6.0工作界面
可在“Build”菜单中选择“BuildHello.exe”命令进行编译,然后在“Build”菜单中选择执行命令“ExecuteHello.exe”,程序执行结果将产生一个如图11所示的窗口。
Hello应用程序只是生成了一个最简单的单文档应用,没有任何实际应用,在其中我们没有添加任何自己的代码,生成这个窗口的一切工作都是MFCAppWizard在幕后做的。
图11程序运行结果窗口
二、生成一个基于对话框的“HelloVC6”应用程序
HelloVC6程序运行结果应如图12所示,标题是“HelloVC6”,主窗口上有两个按钮,“欢迎”和“确定”。
它实现下列一些简单的功能:
1)单击“欢迎”按钮,显示一个消息框,上面写着“欢迎您进人visuaIC++6.0,欢迎使用,谢谢!
”如图13所示。
图13应用程序运行结果
2)单击“确定”按钮关闭消息框。
3)单击应用程序左上角图标,弹出系统菜单,选择“关于”项时会出现”关于…”对话框,如图14所示。
图14显示关于HelloVC6的版本信息
4)单击“确定”按钮,关闭“关于”对话框。
5)单击HelloVC6对话框“确定”按钮,退出应用程序。
操作步骤如下:
1)要生成一个基于对话框的应用程序,应在图3所示的对话框(MFCWizard第1步)中选择Dialogbased(基于对话框)。
单击“Next”,将出现如图15所示对话框。
图15创建基于对话框应用程序第2步
2)在此对话框的“whatfeatureswouldYouliketoinclude?
”提示下有几个默认选项:
Aboutbox关于对话框
Context-SensitiveHelp上下文相关帮助
3DControls三维图形控件
在前面显示的应用程序界面中可以看到有一个About对话框,图形控件也是三维的,至于上下文帮助则没有,所以按图15所示默认选择。
3)在此对话框的“WhatOtherSupportWouldyouliketoinclude”中,选择“ActiveXControls”项,表示要使用ActiveX控件;
4)在此对话框的“P1easecreateaTitleforyoudialog”编辑框中可以给应用程序主窗口命名,这个例子中使用工程文件名称“HelloVC6”,显示在应用程序的标题栏中。
5)其他问题按图所示选择。
6)确定以上各项后单击“Next”按钮,进入第三步。
如图16所示。
7)在此对话框中有以下三个问题需要设置(在创建基于单文档结构时已处理过,在此相同):
“Whatstyleofprojectwouldyoulike?
”询问你喜欢哪一种工程的风格,选择“MFCStansard”;
“wouldyouliketogenerateresourcefilecomments”询问是否在生成的源代码中加注释,选择Yes。
因为在AppWizard生成的应用程序源代码文件.cpp文件中加上代码的注释,有助于阅读和理解源代码的含义,毕竟VisualC++还有代码编程部分。
“HowwouldyouliketousetheMFClibrary?
”询问是选择使用MFC的动态链接库DLLS,还是静态链接库。
使用DLL可以在应用程序运行的时候链接起来,而不是在编泽的时候就链接,使生成的应用程序.exe文件比较小。
因此选择动态链接库。
图16创建基于对话框应用程序第3步
图17创建基于对话框应用程序第4步
8)单击“Next”按钮,进人最后—步。
VisualC++6.0显示出生成工程文件的最后一步,将弹出MFCAppWizard的窗口,如图17所示。
可以看到AppWizard所创建的类名和文件名,可以改变类的名称,但一般不必去改变它。
本例对这个窗口没做任何改动。
可以看到AppWizard将为应用程序生成两个派生类:
CHelloVC6App和CHelloVC6Dlg。
CHelloVC6App类是MFC基本类库中的CwinApp类派生出来的,是应用程序的—个框架类,给替代用程序提供了系统主窗口的一些特征,CHelloVC6Dlg从MFC基本类库CDialog类派生出来的。
9)单击“Finish”按钮显示“NewProjectInformationp”窗口,如图18所示。
图18有关新创建工程的信息
该窗口显示了前面几步所选择的全部设置,包括应用程序类型、新创建的类以及应用程序的全部特征。
还显示了该应用程序将生成在哪个路径之中,通过这些,你可以最后检查一下应用程序的设置是否完全正确,如果出现不对的地方可以按“Cancel”按钮取消前面操作,用AppWizard重新创建。
10)如果正确,单击“OK”按钮,AppWizard先完成应用程序的自动生成工作,在指定的目录下生成应用程序框架所必须的全部文件。
到现在AppWizard已完成了它的全部工作。
它到底做了些什么?
生成了一些什么文件?
而每个文件又有什么用途?
下面就其工作界面的组成进行分析,见图19所示。
图19VisualC++6.0工作界面
工作区窗口
VisualC++6.0自动打开了AppWizard生成的工作区(Workspace,又称为工作空间文件窗口),在工作区窗口下方有三个页签:
ClassvView、ResourceView和FileView。
ClassvView页中显示的是AppWizard生成应用程序时,为应用程序新创建的类以及类的成员变量和成员函数,用鼠标双击任何—个成员变量或成员函数,就会打开含有该成员变量或成员函数的源代码文件,并且将光标放在源代码文件中的该成员变量或成员函数所在行。
ResourceView页中显示的是新建应用程序的各种资源,例如About对话框资源、子窗口图标、字符串、表示版本信息等。
FileView页中显示的是VisualC++的帮助信息,VisualC++的联机帮助很大,在硬盘中要占用一百兆空间,因此联机帮助非常详细且全面。
单击FileView页签,显示该文件夹。
再单击每个文件夹左边的“?
”号。
就显示出HelloVC6工程的所有文件。
这些文件组成了HelloVC6应用程序,它们的特征和用途分别是:
1)HelloVC6.h
这个文件是应用程序的主文件,它包含有其他工程所有的头文件(如Resource.h文件)。
并且声明了CHelloVC6App应用程序类。
2)HelloVC6.cpp
这是一个主应用程序的源代码文件,其中定义了应用程序类CHelloVC6App。
3)HelloVC6.rc
这是一个该应用程序使用的所有MicrosoftWindows资源的列表,显示出来的就是Re“ResourceView”页签。
包括的资源有图片、位图以及存放在RES子目录下的光标,这个文件中的内容直接在VisualC++6.0的工作台中进行编辑。
4)HelloVC6.ico
这是一个图片文件,是被用于应用程序的图案,这个图片放在主资源文件HelloVC6.h中。
5)He11oVC6.clw
这个文件包含有ClassWizard在编辑现存的类或增加新的类时的有关信息,ClassWizard在编辑Messagemaps和Dialogmaps去创建原型成员函数时,必须使用这个文件存储信息。
6)HelloVC6Dlg.h和HelloVC6Dlg.cpp
这两个文件包含了HelloVC6Dlg这个类,该类定义了应用程序的主对话框的特征。
对话框的模板放在文件HelloVC6.h中,能在VisualC++6.0的工作台中被直接编辑。
7)StdAfx.h和StdAfx.cpp
这两个文件用于创建一个新编译头文件HelloVC6.cpp和一个预编译类型文件StdAfx.abj。
8)Resource.h
这是一个标准的头文件,用于定义资源新的IDS。
现在,我们对AppWizard这个工具已经有了初步认识,前面所有这些工作都是它完成的,到现在我们还没有编写一句代码,它就已经为我们生成了这么多文件。
在下一节中。
我们将会看到AppWizard到底做了些什么工作。
二、进行可视化编程
上面部分中,使用AppWizard生成应用程序的工程文件,接下来我们要用VisulC++另一强大工具——ClassWizard来进行可视化程序设计。
用AppWizard建立的应用程序除具有一些一般性的功能外,还应该能完成某些特定的功能。
因此,必须对AppWizard生成的工程文件进行加工。
ClassWizard是VisulC++提供的对工程进行加工、完善和编辑的一个强大的可视化工具,它同图形化的界面一样,不需要程序员进行大量的代码操作,就能完成消息处理,函数的映射,图形界面的设计等功能。
1)在应用程序工作区中选择ResourceView项,该页有一个HelloVC6resource的文件夹,展开这个文件夹,又出现四个不同的资源文件夹。
图20工具箱
2)单击Dialog文件夹旁边的“+”号,将其展开,这时会出现两个资源对象是应用程序的“关于”对话框,IDD_ABOUTBOX是应用程序的“关于”对话框,IDD_HELLOVC6_DIALOG是作为应用程序主窗口的对话框。
因为我们的任务是定做应用程序主窗口的对话框,所以应在IDD_HELLOVC6_DIALOGH中进行操作。
3)双击IDD_HELLOVC6_DIALOG选项。
VisulC++6.0主窗口的对话框显示在编辑窗口中,并且显示一个工具窗口(列出各种控件)。
如图20所示。
4)单击IDD_HELLOVC6_DIALOG对话框的“取消”按钮,按键盘上的Delete键,把这个对象从对话框中删除。
5)单击IDD_HELLOVC6_DIALOG对话框的文本,按键盘上的Delete键,把这个对象从对话框中删除。
现在IDD_HELLOVC6_DIALOG对话框是空白的,什么对象都没有了。
下一步是在这个对话框中加上一个控件:
“欢迎”命令按钮。
6)单击工具窗口中的“命令按钮”控件,然后在空自的对话框的任意位置单击一下鼠标,就会出现—个命令按钮。
然后用鼠标将该按钮移动到你所需要的位置上。
按钮的缺省标题是Button1,这里我们需要改变标题。
7)在Button1按钮上单击鼠标石键,在弹出的菜单中选择Properties项,就会显示—个按钮特性的对话框窗口。
选择对话框中General页签。
Caption编辑框的内容是按钮的标题,将原来缺省的文本Button1改为“欢迎”。
8)单击“欢迎“按钮,拖动按钮的边框,直到变成所需要的大小。
用鼠标移动按钮的位置,可放在你想要放置的地方。
用同样的方法完成命令按钮“退出”的设置。
做完以后窗口界面显示如图21所示。
到现在为止,我们已经基本完成了应用程序的可视化工作,在Files菜单下选择Save项,保存已做的工作。
下面观察一下可视化设计结果。
图21可视化设计
选择VisulC++6.0主菜单Build下的BuildHelloVC6.exe项,编译和连接应用程序。
在VisulC++编译和连接完后.选择Build下的ExecuteHelIo.exe项,运行应用程
序。
显示一个如图22所示的应用程序主窗口.但此时单击“欢迎”按钮和“确定”按钮时应用程序没有任何反应,原因在于我们还没有给应用程序编写任何代码,也就是说,现在我们只是编写了一个没有任何用途的程序界面,下一部分将给这个界面添加代码。
图22程序运行结果
给应用程序添加代码
首先,我们给“欢迎”按钮添加代码,步骤如下:
1)在“欢迎”按钮上单击鼠标右键。
弹出一个菜单,选择菜单的“ClassWizard”选项,显示ClassWizard对话框,如图23所示,对话框中有5个页签:
图23MFCClassWizard对话框
●Messagemaps
●MemberVariables
●Automation
●ActiveXEvents
●ClassInfo
2)单击Messagemaps页签。
3)Project下拉列表框中显示的是HelloVC6。
因为ClassWizard是在工程文件HelloVC6中扩展它的功能。
按右边的箭头,弹出的菜单中只有这—项,这是因为在工程文件工作区只有这一个工程文件。
4)Classname下拉列框表中显示的是CHelloVC6Dlg,因为当前的任务是将“欢迎”按钮写入CHelloVC6Dlg类中。
5)在这两个列表框的下面空白位置显示了将要把连接代码放置在HelloVC6Dlg.h和HelloVC6Dlg.cpp两文件中,以及这些文件的路径。
6)ObjectIDS制表框用于选择代码连接在哪一个对象上面,因为现在是给“欢迎”按钮连接代码,故在这一项中选择IDC_Button1选项。
7)Massages列表框中列出了与所选对象相关文件的消息,在ObjectIDS中选择了IDC_
BUTTON1对象,与之相关的消息有BN_CLIKED(单击该按钮)和BN_DOUBLECLICKED
(双击该按钮)。
为了告诉ClassWizard现在要编写有关“单击该按钮”条件的代码,需要首先在ObjectIDS列表框中选择IDC_BUTTON1。
然后在Messages列表框中选择BN_CLICKED。
下一步要告诉ClassWizard添加对应于所选文件消息的处理函数,即当单击“欢迎”按钮后自动生成的函数。
8)单击AddFunction按钮,显小一个增加成员函数的对话框,该窗口建议新增成员函数名为OnButton1。
9)单击“OK”按钮,接受建议的函数名。
这样函数OnButton1加到了应用程序之中,每当用户单击“欢迎”按钮时就执行该成员函数,在Messagemaps制表页MemberFunctions中增加了这样的一条语句:
OnButton1ON_IDC_BUTTON1:
BN_CLICKED
这表示向“欢迎”按钮(IDC_BUTTON1)传送单击该按钮的消息(BN_CLICKED)时,自动执行一个消息处理函数OnButton1。
ClassWizard仅仅写入消息处理的声明代码和程序框架,而编写该函数内容的任务则由程序员来完成。
编写程序代码按以下步骤完成:
1)单击MFCClassWizard的EditCode按钮,ClassWizard打开HelloVC6Dlg.cpp源代码文件,并使光标停留在消息处理函数的源代码处。
2)在成员函数OnButton1()的定义中输入函数代码,如下所示(红色为添加的代码):
voidHelloVC6Dlg:
OnButton1()
MessageBox(“欢迎进入VisualC++6.O,欢迎使用,谢谢!
”);
3)为“退出”按钮的BN_CLICKED事件编程
(1)从View菜单中或右键菜单中选择ClassWizard菜单项
(2)在MFCClassWizard对话框中选择MessageMaps标签
(3)在对话框中选择做如下选择:
ClassName:
ChelloVC6Dlg
ObjectIDs:
IDC_BUTTON2
Messages:
BN_CLICKED
单击MFCClassWizard对话框中的“AddFunction”,单击“OK”接受建议的函数名。
单击MFCClassWizard对话框中的“EditCode”按钮,VC++会打开文件MyCalDlg.cpp,对OnBu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual C+操作指南 C+ 操作 指南
![提示](https://static.bdocx.com/images/bang_tan.gif)