TForm类用于描述Windows应用程序中的所有窗体对象,它同样是一个非常重要并且具有特殊性的类。TForm类继承于TControl,所以它是可视的,但TForm并没有像其他可视组件那样出现在C++ Builder的组件选项板上。如果要向程序中添加一个窗体,只能通过菜单或工具栏来完成--选择[File/New Form]菜单项或单击工具栏的相应按钮。
TForm类对应的窗体是C++ Builder中各种组件的容器,并且是可视化设计时所有组件的最终容器(一些可视组件,如Panel、ToolBar也是组件的容器)。同时,每一个应用程序的窗体(TForm类的派生类对象)对应一个单元(Unit),C++Builder会为每个单元生成对应的头文件和CPP文件。
一般来说,没有窗体直接是TForm类的实例。在C++Builder中所创建的所有窗体,实际上都是创建了一个继承于TForm类的新类,这个新类的定义可以在相应的头文件中看到。实际编程中,程序员所面对的就是一些TForm类的派生类,并且会为这个TForm类的派生类添加变量成员、属性和方法,以实现窗体所需要的特定功能。
窗体与窗口是一个不同的概念。窗口是一个广泛的概念。在Windows中,用户界面的大多数元素都是窗口。用VCL的概念来解释,窗口是继承于TWinControl类的各种元素。更具体的说,窗口具有以下的一般特点:
(一)具有窗口句柄, Windows系统可以识别它们,并为窗口引用函数。
(二)当系统中有事件发生,消息会发往相应的窗口。每个窗口都具有一个隐含的窗口函数(WindowsProc)处理系统发给窗口的各种消息。
窗体也是窗口,但它特指那些一般来说具有标题栏、边框、可以进行最大最小化的窗口。这类窗口也就是用户见到的一般意义的应用程序窗口。所以,窗体是应用程序中必不可少的重要组成部分。