C++builder教程大全.docx
《C++builder教程大全.docx》由会员分享,可在线阅读,更多相关《C++builder教程大全.docx(94页珍藏版)》请在冰豆网上搜索。
C++builder教程大全
BorlandC++Builder5.0是Interpries(Borland)公司推出的基于C++语言的快速应用程序开发(RapidApplicationDevelopment,RAD)工具,它是最先进的开发应用程序的组件思想和面向对象的高效语言C++融合的产物。
C++Builder充分利用了已经发展成熟的Delphi的可视化组件库(VisualComponentLibrary,VCL),吸收了BorlandC++5.0这个优秀编译器的诸多优点。
C++Builder结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。
发展到5.0版本,C++Builder已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。
C++Builder的特色:
1.C++Builder是高性能的C++开发工具
C++Builder是基于C++的,它具有高速的编译,连接和执行速度。
同时,C++Builder具有双编译器引擎,不仅可以编译C/C++程序,还能编译ObjectPascal语言程序。
2.C++Builder是优秀的可视化应用程序开发工具
C++Builder是一完善的可视化应用程序开发工具,使程序员从繁重的代码编写中解放出来,使他们能将注意力重点放在程序的设计上,而不是简单的重复的劳动中。
同时,它提供的完全可视的程序界面开发工具,从而使程序员对开发工具的学习周期大大缩短。
3.C++Builder具有强大的数据库应用程序开发功能
C++Builder提供了强大的数据库处理功能,它使的程序员不用写一行代码就能开发出功能强大的数据库应用程序,这些主要依赖于C++Builder众多的数据库感知控件和底层的BDE数据库引擎。
C++Builder除了支持Microsoft的ADO(ActiveDataObject)数据库连接技术,还提供了一种自己开发的成熟的数据库连接技术——BDE(BorlandDatabaseEngine)数据库引擎。
4.C++Builder具有强大的网络编程能力
C++Builder具有众多的Internet应用程序开发控件,如WebBroker,CppWebBrowser,WinSocks等,它们基本含盖了Internet应用的全部功能,利用它们程序员可以方便地建立自己地Internet应用程序。
一.C++Builder5.0的集成开发环境(IDE,IntegratedDevelopmentEnvironment)
1.C++Builder5.0的IDE主界面
1)组件面板
标准组件选项卡上的组件是构成Windows应用程序窗口最常用的标准元素,它们包括15种组件。
主要有:
主菜单(MainMenu),右键菜单(PopMenu),标签(Label),备注(Memo),命令按钮(Button),单选按钮(GroupBox),复选按钮(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滚动条(ScrollBar),组框(GroupBox)和单项按钮组框(RadioGroup)。
附加组件选项卡上的组件是Windows应用程序常用的专门控制元素,它包括14种组件。
主要有:
位图按钮(BitBtn),加速按钮(SpeedButton),格式编辑框(MaskEdit),字符网格(StringGrid),数据网格(dataGrid),图片框(Image),形状(Shape),和控制栏(ControlBar)。
Win32组件选项卡上的组件是32位Windows应用程序的常用元素,它们具有32位应用程序的新特征,Win32组件选项卡共包括18种组件。
分页面控制(PageControl),图片列表(ImageList),多文本编辑器(RichEdit),列表视图框(ListView),树状目录视图框(TreeView),工具栏(ToolBar)和状态栏(StatusBar)。
DataAccess和DataControl组件选项卡上的组件是用来设计数据库应用程序的。
其中DataAccess组件选项卡上的组件是数据库应用程序用来与数据库建立连接的,它们也称为数据访问组件。
而DataControl组件选项卡上的组件是用来与用户交互的,它们也称为数据感知组件。
主要是:
表(Table),查询(Query),数据源(DataSource),数据库导航器(DBNavigator),数据表格(DBGrid),数据库编辑框(DBEdit),数据库静态文本框(DBText),数据库列表框(DBListBox),数据库图片(DBImage)。
Dialogs组件选项卡是由一些常用标准对话框组件组成的。
主要完成打开文件,保存文件,查找,替换,打印,打印机设置等Windows标准的对话框功能。
2)对象查看器
对象名称用于选择和查看当前对象的名称,属性选项卡用于设置对象设计时的可见属性,事件选项卡用来设置对象的事件句柄或者在代码编辑器中定位对象事件句柄
二.创建Windows程序
在主菜单中选择【File】中的【New】,在New对话框中选择Application,按OK。
三.运行程序
在菜单中选择【Run】中的【Run】,或者直接按快捷菜单上的运行按钮,还有是按快捷键F9,就可以运行当前程序。
四.编译程序
在菜单中选择【Project】中的【buildproject1】就可以把程序编译成为可以直接运行的.exe文件。
但是这样编译而来的执行文件因为是动态连接到库函数,所以在没有装C++Builder的机上不能正常运行。
要编译成静态连接库,可以在所有机上运行的程序,只要这样做:
打开【project】的【Options】,把packages页中的‘buildwithruntimepackages’的勾去掉,linker页中的‘usedynamicRtl’的勾去掉,再在compiler页中按release键。
然后重新在【Project】中的【buildproject1】就可以把程序编译成为可以直接运行的.exe文件。
五.保存程序
在主菜单中选择【File】中的【SaveProjectAs】选项。
再把所以文件(包括.cpp,.bak)都保存到一个目录下面。
加载C++Builder组件和引入ActiveX控件
一.加载C++Builder组件
C++Builder中有很多组件,其中有一大部分组件不是很常用的,所以在C++Builder中默认只加载了一部分常用的组件,其他组件就要进行手工加载。
或者从别的地方(如在网上下载)得到一些其他的组件包(*.bpl),要把它加载到C++Builder里面,就要用到加载组件。
在C++Builder中加载组件是很方便的,你可以在主菜单【Project】中按【Options】,再选【packages】页,又或者在【Component】中选【InstallPackages】,得到packages对话框(如下图)。
如果你想要加载C++Builder中未加载的组件,只有在相应的组件包的前面打勾来选定;如果你要加载其他组件包,按【Add】按钮,再在【AddDesignPackage】对话框中选定其组件包(*.bpl)。
之后按【OK】键,新加载的组件就会出现在组件面板上。
二.引入ActiveX控件
众所周知,ActiveX控件因为其可以跨平台的特性使得ActiveX在很多环境下被广泛地使用。
在C++Builder中引用ActiveX很简单。
具体操作是在主菜单【Component】中选【ImportActiveXControl…】,弹出【ImportActiveX】的对话框,在对话框中选择你要引用的ActiveX控件。
1.控件类明,可以包括多个,表示这个ActiveX控件包里面有多个ActiveX控件,如这里就包TSkinForm,TskinButton和TSkinPanel这三个控件。
2.组件在ComponentPalette(组件面板)的页面。
在本例中,我们把引入的ActiveX控件放在ActiveX页面中。
3.组件的源文件(.cpp)。
4.当前搜索路径,一般不用修改。
按【Install】键,ActiveX控件已经成功地引入到C++Builder中,反正组件面板的ActiveX页面中。
编程入门第一课――HelloWorld
曾几何时,HelloWorld已经成为编程入门的第一课。
不管是什么语言,都以一个打出HelloWorld字串的小程序作为第一个入门程序。
我们现在学C++Builder也把这个程序作为学习C++Builder的第一个入门程序。
相对C/C++等非可视化语言来说,C++Builder作为一种强大的可视化编程语言,那么它的入门级的HelloWorld程序也会非同凡响,而且还很简单易懂。
好,现在就开始我们的HelloWorld!
一.首先要创建一个新的程序。
在【File】菜单下选【New】,再在【NewItems】对话框中选择Application,按OK键。
或者在【File】菜单下直接选择【NewApplication】。
二.加入相关组件。
把要用到的组件从在组件面板(Palette)上拖到窗体(Form)上,摆好位置,并设置好大小。
我们这里用到一个标签(Label)和两个命令按钮(Button)。
再改变窗体的大小,使窗体看上去好看一点。
三.设置组件的属性
在属性查看器中修改各个组件的属性。
下面的图示是把Label1的Caption(标题)属性改为‘HelloWorld’。
先点击窗体上的Label1组件,再在右边的属性查看器中选定Caption的项,输入’HelloWorld’。
编程入门第一课――HelloWorld
如上述所示,分别设置三个组件的属性为:
组件
属性
值
Form1
Caption
HelloWorld
Label1
Caption
HelloWorld
Font
宋体,粗体,一号
Button1
Caption
Start
Button2
Caption
Exit
四.加入事件。
双击Button1,弹出代码编辑窗口,在Button1Click事件中加入以下代码:
Label1->Caption="HelloC++Builder!
";
双击Button2,在Button1Click事件中加入以下代码:
Form1->Close();
五.编译运行HelloWorld程序。
按快速栏上的运行按钮,或者按快捷键(F9)运行HelloWorld程序。
按【Start】按钮,结果如下:
按【Exit】退出程序。
到此为止,一个完整的HelloWorld程序就完成啦,是不是简单得不可思议呢?
下面再说两个小技巧:
1.更换标题栏上得图标。
更改窗体(Form1)的Ico属性,把它改为你想要的图标文件(*.Ico).
2.更改执行文件的图标
在【Project】菜单下选【Options】,弹出【ProjectOption】对话框,选择【Application】页,按【LoadIcon…】键浏览选择自己想要的图标文件。
按【OK】。
按【Project】菜单下的【BuildProject】编译HelloWorld程序,得到可执行文件(.exe)。
设计菜单之一――下拉式菜单
用过Windows程序(最典型的就是Word和资源管理器或一般Windows软件)的人也许有个印象,就是Windows下的程序的菜单很丰富好用,而且还很灵活多变。
事实上Windows下的程序的菜单大致可以分成两大类:
第一类是下拉式的菜单,如主菜单(MainMenu)和右键菜单(PopMenu);
第二类是功能按钮菜单,如工具菜单(ToolMenu)。
绝大多数的Windows程序都是采用下拉式的菜单,也有少部分的程序是使用功能按钮菜单。
这两种菜单设计方式各有优缺点,前者的好处是设计方式简单、不占画面空间,可是缺点是必须一层一层地进入之功能选项,无法一次看到所有的功能选项;而后者的优点是可以加入漂亮的图标、一次可以看到许多的选项,缺点是占用程序画面的空间。
我们这里将分别介绍这两种菜单。
一.下拉式菜单
下拉式菜单由菜单项和菜单命令构成,菜单项起到将功能分类存放的作用,如【文件】菜单项就是将针对文件操作的所有功能收容其下。
而这些功能就体现为若干项菜单命令,菜单命令必须选定其所属菜单项后才出现在下拉菜单中。
下拉式菜单包括主菜单(MainMenu)和右键菜单(PopMenu)。
1.主菜单(MainMenu)
(1)创建主菜单。
步骤1:
先启动一个新的工程【File】->【NewApplication】。
步骤2:
从组件面板的【Standard】页,拖拉MainMenu组件到Form1上。
步骤3:
双击Form1上的MainMenu,出现一个菜单编辑器。
步骤4:
接着点选第一项主菜单的位置,并且在属性Caption输入字符串‘文件’,然后点选第一项主菜单下面的第一层子菜单,继续输入直到第一项主菜单的功能建立完毕,接着输入第二项主菜单,如此类推。
注意:
(1)如果你想输入分割符,请把改2项的属性Caption设置为‘-’即可。
(2)如果你想加入快捷键,请在选项字符串中挑出某个字符,当作代表此项功能的热键(HotKey),在那个字符的前面加上‘&’z字符即可。
当程序运行时,你可以同时按下【Alt】键和热键字符来执行对应的功能选项。
另外一种热键功能是直接设定每一个选项的属性ShotCut。
步骤5:
如果在第一层子菜单的选项想继续往下建立第二层菜单,请将鼠标移到第一层子菜单的第一项功能‘打开文件’,然后按下鼠标右键,你将会发现右键菜单的第三项功能‘CreateSubmenu’,点选它之后,‘打开文件’选项下面就会多一层子菜单,你再输入这份子菜单内的选项内容,若是想继续往下建立子菜单,如此类推。
步骤6:
整个菜单建立完成以后,每一项菜单功能的程序是写在OnClick事件内,而每一项菜单功能都会产生对应的OnClick事件。
你可以将鼠标移到菜单编辑器上的菜单项上双击,会弹出程序编辑器,然后你可以在当前位置(事件程序)中输入你的程序代码。
(2)应用菜单模板和把菜单保存为菜单模板
A.应用菜单模板:
可以把C++Builder自带的菜单或者是自己保存的菜单直接引用。
具体操作是:
在菜单编辑器的快捷菜单点击【InsertFormTemplate】,再在【InsertTemplate】对话框中选择一个菜单,按【OK】键。
B.把菜单保存为菜单模板:
把常用菜单保存为菜单模板,那么下次编辑菜单的时候就可以直接加载,方便省时。
具体操作是:
在菜单编辑器的快捷菜单点击【SaveToTemplate】,弹出【SaveTemplate】的对话框,输入菜单的描述(名字),按【OK】键。
到此为止,一个像模像样的主菜单就完成拉,是不是很不错呢?
2.右键菜单(PopMenu)
右键菜单(PopMenu)又叫弹出菜单,你可以先设计好一个PopMenu组件,然后指定给任何一个可视化组件,当用户将鼠标移到这些可视化组件上,按下右键,就会弹出一个菜单,这个菜单就是PopMenu组件,下面是建立PopMenu菜单的步骤:
步骤1:
先从组件面板的【Standard】页拖拉PopMenu组件到Form1上。
步骤2:
建立菜单的内容和实现功能的事件程序和主菜单一样,请参考上一节。
请看下图:
设计菜单之二――功能按钮菜单
Windows下的程序的菜单大致可以分成两大类:
第一类是下拉式的菜单,如主菜单(MainMenu)和右键菜单(PopMenu);第二类是功能按钮菜单,如工具菜单(ToolMenu)。
和菜单一样,功能按钮菜单已经成为Windows应用程序地一个标准配置,使用它可以进一步增强应用程序的菜单界面,一般来说,功能按钮菜单和下来菜单密不可分。
功能按钮菜单中含有功能按钮,功能是对于应用程序中最常用的命令的快速访问。
许多功能按钮菜单我们已经屡见不鲜,如下面的IE的功能按钮菜单。
在C++Builder中,制作一个简单的功能按钮菜单只要用到功能按钮控件(TToolBar)和一个图像列表控件(TImageList)相配合就可以实现。
一般需要四个步骤:
(1)在TLmageList控件中插入合适的图像
(2)把TToolBar控件的Images属性设置为TlmageList
(3)通过单击鼠标右键为TToolBar添加TButton,并通过属性页来定制。
(4)在TToolBarClick事件中加入相关操作。
制作IE风格的功能按钮菜单则要再使用TCoolBar或者TControlBar控件,一共有三种方法,我们现在就配合实例讲解这三种制作IE风格的功能按钮菜单的方法。
一.TCoolBar+TToolBar+TImageList
步骤一:
新建一个工程,在窗体(Form)中加入一个TCoolBar和一个TImageList控件。
然后在TCoolbar上加入一个TToolBar控件。
把TCoolbar的Align属性设置为alTop。
调整好TToolBar的高度,再把TToolBar和TCoolBar控件的AutoSize属性都设置为true;
步骤二:
用鼠标右键单击TImagelist控件,打开‘ImageListEditor’窗口,添加对应的copy,cut和paste图标。
步骤三:
在TToolBar控件上单击鼠标右键,在弹出的菜单中选择‘NewButton’来插入TButton,选择‘NewSeperator’来插入分割条。
步骤四:
将TToolBar控件的Images的属性设置为ImageList1,则TImageList控件中的图标立刻出现在工具按钮菜单中。
步骤五:
用鼠标双击功能按钮菜单中的任意一个按钮,就可以为这个按钮的事件响应编写处理代码了。
二.TControlBar+TToolbar+TImageList
这种方法和以上的方法大同小异,只是把TCoolBar换成TControlBar就可以拉,这里不累赘说明。
下图是其效果。
三.把下拉式菜单放到功能按钮菜单上
这是IE中最常用的菜单,在C++Builder可以轻易实现。
步骤一:
在窗体(Form)上放置一个TMainMenu控件,并设置好内容;
步骤二:
设置Tform的Menu属性为空;
步骤三:
放置一个TControlbar,再放置一个TToolbar在TControlbar上面
步骤四:
设置TToolBar的ShowCaptions属性为true;
步骤五:
在TToolBar上增加几个TToolButton,修改其caption模拟主菜单的样子;
步骤六:
将TToolBar的grouped属性设置成true;
步骤七:
设置每个TToolButton的menuitem对应MainMenu的主菜单项;
步骤八:
设置TToolBar的flat属性为true
运行程序,结果如下,就得到了一个跟IE一样的在功能按钮菜单上的下来式菜单。
这个在功能按钮菜单中的下拉式菜单确实很‘cool‘吧?
好,到此为止,相信读者对C++Builder的菜单设计(包括下拉式菜单和功能按钮菜单)有一定了解,这有助于我们进一步设计出更漂亮实用的用户界面。
开发可Dockable的工具栏和视窗
在Windows视窗系统中,可Dockable的工具栏被广泛运用在很多软件和程序当中。
可Dockable,即dock功能。
所谓dock功能就是你可以把某些工具栏和视窗与其他工具栏或视窗结合同在一个工具栏或视窗。
C++Builder的IDE所包含的工具栏以及视窗就具有dock功能。
如下图所示。
工具栏的dock功能不仅使工具栏更灵活,使使用者可以随心所欲的按照自己习惯和喜欢的方式组合、摆放工具栏,而且使操作界面更美观。
在C++Builder中开发这种具有dock功能的工具栏和视窗可以说是轻而易举的。
好,现在我们就开始自己动手开发可Dockable的工具栏和视窗。
Let’sgo!
我们可以利用C++Builder开发出具有dock功能的应用程序。
在C++Builder中,所以可视化的VCL组件都支持dock功能。
这里可视化VCL组件是指所有继承自TControl以及TwinControl的VCL组件。
基本上,要进行dock动作至少需要两个组件,一个被附着的docksite组件,另一个则是附在docksite上的组件,C++Builder所提供的可视化组件只有继承自TwinControl的VCL组件才具有docksite功能,而只要是继承自TControl的VCL组件则具有附着在docksite的功能。
如果你想希望某个继承自TwinControl的组件具有docksite功能,只要把属性DockSite设置为true即可;如果你希望某个继承自TControl的组件附着在docksite上,只要把属性DragSite设置为dkDock,属性DragMode设置为dmAutomatic即可。
但程序运行的时候,你就可以利用鼠标把后者组件拖到前者组件上,后者就会自动附着在前者上,完成dock动作。
下面是以两个实际例子说明在C++Builder轻松开发可Dockable的视窗和工具栏。
一.开发可Dockable的视窗
步骤一:
新建一个工程;
步骤二:
在组件面板上的Standard页,拖一个Tpanel组件到Form1上,然后把Tpanel1的Align的属性设为alTop,并且把属性DockSite设置为true;
步骤三:
在组件面板上的Additional页,拖三个Tshape组件到Form1上,并且把着三个Tshape组件的属性DragKind设置为dkDock,属性Dr