C++Builder入门21
- 格式:ppt
- 大小:561.50 KB
- 文档页数:52
第2讲C++ Builder编程基础1 基本概念和术语1.1 对象简单地说,对象就是东西。
在计算机中,对象本身可以描述成“一组逻辑上相关联,可以从外部进行有限访问的数据”。
对象是我们感兴趣的或要加以研究的事物,它是数据与操作相结合的统一体。
对象的基本思想是用系统的观点把要研究的事物看成一个整体。
●抽象●封装●继承●多态●动态绑定对象是面向对象程序设计(OOP)的基本概念和核心。
在面向对象的程序设计中,用于生产对象的类必须由用户来设计,而在C++ Builder中,已经有大量现成的类,这些类的集合即是VCL——Visual Component Library。
有很大一部分的VCL以可视化的方式已经安装在组件面板上。
如窗体、按钮、标签和编辑框等,用户可以直接把它们拖到设计器中的窗体上使用。
1.2 属性对象的属性就是对象的特征、状态等。
不同的对象具有不同的属性。
我们把各个对象的所有属性的集合称为“属性表”。
C++ Builder中的每个组件都有一个属性表。
属性表显示在对象监视器的“Property”页中。
通过修改对象监视器“Property”页中属性表中的值,可以获得该组件的各种具有不同性质和外观的对象。
1.3 事件事件指发生在对象上的一些事情。
对于窗体对象,发生在它上面的事件可能有鼠标单击、双击、右击、最大化、最小化等。
Windows程序是基于事件驱动的,它意味着程序大部分时间是在等待某个事件,以触发程序做某件事情,比如移动鼠标、单击某个按钮、双击鼠标等,这也是Windows程序与DOS 程序最重要的区别之一。
事件可以分为用户事件和系统事件两种。
不管是什么事件,C++ Builder只关心用户是否编写了代码来处理该事件。
如果有,则执行代码,否则,应用程序不会做任何事情。
为事件添加事件响应函数的步骤:●选中组件●在对象监视器中,切换至Events页●双击Events中此事件的标题栏,进入代码编辑器●添加此事件所要执行的代码下图显示了C++ Builder为一个按钮生成的单击事件响应函数的框架。
C++Builder 编程指南2关键字:C++Builder,编程指南作者:佚名更新:2002-11-01 浏览:5158三、常用控件的使用与编程静态文本是用户无法直接改变(不可编辑)的文本,程序可以在运行时刻来改变它,通常起标注和提示作用,它位于控件板的“Standard”页,其主要属性有:Align:指该控件在窗口中的位置或对齐方式(AlBottom:位于底部;AlClient:充满客户区;AlLeft:位于左方;AlNone:用户自定义;AlRight:位于右方;AlTop:位于顶部)。
Alignment:显示文字在本控件中的位置(taCenter:居中;taLeftJustify:居左;taRightJustify:居右)。
AutoSize:是否自动缩放(当设为true时,则控件的尺寸随控件里面文字的大小而改变)。
Caption:控件中要显示的文字,即标题。
Color:控件的颜色。
Cursor:鼠标移入控件后的形状。
Enabled:设置该控件是否有效。
Font:设置该控件内文字的字体,单击该属性弹出字体设置对话框,可以设置字体风格、字体尺寸、字体颜色等。
Name:控件名称。
标准按钮主要用于响应用户鼠标或键盘按下的操作,它位于控件板的Standard页,其主要属性有:Cancel:当设为true时,此按钮相当于放弃按钮,即当用户按下Esc键时相当于用鼠标单击此按钮。
Default:设置该按钮是否为缺省按钮。
ModalResult:模式结果。
(可选值有mrNone、mrOk、mrCancel、mrAbort、mrRetry、mrIgnore、mrYes、mrNo等)当设为非mrNone时,主要用于按下该按钮时关闭该按钮所属模式窗口。
标准按钮控件可以响应的主要事件有:OnClick:鼠标单击或按下热键时的响应事件。
OnEnter:当按钮获得输入焦点时的响应事件。
OnExit:当按钮失去输入焦点时的响应事件。
C++BuilderIDE使用技巧与快捷键1、快速选择Form在开发应用程序时,经常需要选中Form来改变Form的属性值或生成新的Form事件句柄。
有些时候,选择页面只需简单在页面上单击。
但更多的时候,页面总是完全被其上的组件所隐藏。
通过对象观察器(Object Inspector)顶端的下拉组合框来选择是一种解决办法。
但从下拉列表中找出form类并不容易,尤其在页面包含了大量的组件时。
IDE提供了选择form的快捷键。
如当一个Memo组件以client 方式充满了整个form的客户区域时。
要想选择form,只要在Memo 上单击,然后按下Esc键,就会选中form。
因为IDE将焦点转向了最初所选对象的父对象。
如有多个组件重叠。
多按几次Esc键后,就会选中form。
2、复选container(容器)中的组件Panel面板经常被用作其他组件的容器。
如要同时选中Panel面板上的几个组件来移动它们或是改变它们的共同属性。
一般可以通过Shift+单击来选择这些组件。
但如想通过拖动鼠标来选的话,只会将panel拖的到处乱跑。
按下Ctrl键再拖的话,就能选中后进行拖动。
这个办法适用于所有的容器类组件(GroupBox, ScrollBox, ControlBar,等等)。
3、微调组件选中一个组件后,按住Ctrl键再按下方向键(四个箭头)可以将组件往相应的方向以像素点为单位移动。
同时按住Shift 和 Ctrl键,再按一下方向键的话可以使组件移至下一个网格定位点。
要想组件往相应的方伸长或缩短一个像素点的话,按住Shift键再按方向键。
左右键调整组件宽度,上下键调整组件高度。
4、同时改变数个组件的属性当选择了多个组件时,对象观察器(Object Inspector)将会显示这些组件的共同属性。
如想让Form中的数个Edit组件都有同样的宽度的话,只需同时选中它们,然后在对象观察器中改变Width属性,所有您选中的组件宽度都会变成新的宽度值。
Edit控件的小窍门,虚拟动态创建,输入验证1、虚拟动态创建。
在需要选择多个Edit控件,可以先设置Edit控件的visiable属性为false,然后用事件触发显示Edit,代码为:void __fastcall TForm1::Label1Click(TObject *Sender){ Edit1->Show();}2、输入验证。
用好下面Edit的两个事件:void __fastcall TForm1::Edit1Exit(TObject *Sender){}和void __fastcall TForm1::Edit1Change(TObject *Sender){ },这两个事件函数连起来用会让你的程序更友好。
程序运行时控件的位置可以自由移动在需要移动的控件的OnMouseMove事件中加入一段代码即可,如:void __fastcall TForm1::Button1MouseMove(TObject *Sender,TShiftState Shift, int X, int Y){WORD SC_DragMove=0xF012;ReleaseCapture();((TWinControl*)Sender)->Perform(WM_SYSCOMMAND,SC_DragMove,0);}这个功能适合所有具有OnMouseMove事件控件,但要注意的是,引入此功能后,原来需要移动鼠标的操作就做不了了,比如:通过移动鼠标选定Edit控件内的文字。
鼠标拖动窗体的非标题栏区域这需要调用windows API函数,不多说,直接给出方法:1、先在头文件的Public对象区添加如下内容:void __fastcall Test(TMessage &Message);//本行为定义新函数的声明BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_NCHITTEST,TMessage,Test) END_MESSAGE_MAP(TForm)2、然后再cpp文件内加入下列函数:void __fastcall TForm1::Test(TMessage&Message){ if(GetAsyncKeyState(VK_LBUTTON)< 0)Message.Result=HTCAPTION; else Message.Result=HTCLIENT;}这样已经完成了。
Cbuilder教程⼤全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)数据库引擎。