可视化组件库(VCL)基于属性、方法、事件(PME)模型。PME模型定义了数据成员(属性)、操作数据的函数(方法)、用户使用类的途径(事件)。VCL是对象的分层结构,它是用ObjectPascal所写的,但它可以完全正常地工作于C++Builder的IDE当中,依靠它可以实现快速应用程序开发。使用C++Builder的对象观察器和组件面板,你可以在窗体中任意放置VCL组件,并指定它们的属性而无需编写任何代码。
2.3.1 属性
属性反映了组件的特性。你可以在设计时观察并修改属性,同时可以立即观察到该组件在IDE中对于修改所做出的反应。设计良好的属能使你制作的组件更易于被其他人使用,也易于自己对组件的维护。
2.3.2 方法
方法就是类的成员函数。类的方法能访问所有的公共的、保护的和私有的属性以及该类的数据成员,也就是通常意义上的成员函数。
2.3.3 事件
事件驱动编程(EDP)就是指通过对事件做出反应来进行编程。从本质上讲,事件驱动指的是程序并未限制用户下一个动作可以做或不能做什么。例如:在Windows编程时,程序员不可能知道用户会对应用程序做什么动作,是选择菜单项、单击按钮,还是标记一些文本。所以说,EDP指的是对任何你感爱好的事件都需要编制代码进行处理,而不是写出那些限制好了总是会执行的代码。
所有可能发生的事件能分成两大类:
· 用户事件。
· 系统事件。
不管是什么事件,C++ Builder关心的只是你是否编写了代码来处理该事件。假如有,则代码被执行;否则,应用程序不会做任何事。
1、用户事件
用户事件是由用户的行动触发的。例如OnClick事件(用户单击鼠标)、OnKeyPress事件(用户按下把键盘上的一个键)、OnDblClick事件(用户双击鼠标)等都是用户事件的例子。可以看到,这些事件总是依靠于用户的行动。
2、系统事件
系统事件是由操作系统触发的。例如:OnTimer事件(由计时器组件每次经一段预定义间隔后触发)、
OnCreate事件(某个组件被创建后触发)、OnPaint事件(一个组件或窗口需要重画时触发)等等。通常,
系统事件并不会直接由用户行动触发。