TFrame 的使用方法 - C++ Builder

C++ Builder 参考手册 ➙ TFrame 的使用方法


Frame 是什么呢?C++ Builder 的第一组控件 Standard 组里面的第一个控件的位置是 Frames,在新建项目里面,这个控件根本无法放在 Form 上。

  • 创建 Frame
  • 编辑 Frame
  • 把 Frame 放在 Form 上

一. 创建 Frame

创建 TFrame:通过 File -> New -> Other...,在打开的选项当中,左面的目录里面找到 C++ Builder Projects 里面的 C++ Builder Files,右面选择 VCL Frame,点击 OK 按钮创建一个 Frame。

创建 Frame

新创建的 Frame 就像一个没有边框和标题栏的空白的窗口:

新创建的 Frame 就像一个没有边框的窗口

打开刚创建的 Unit2.h 发现 TFrame2 类继承了 TFrame 类,而不是 TForm。

TFrame2 的父类是 TFrame

二. 编辑 Frame

Frame 没有边框和标题,除此之外,编辑 Frame 和设计窗口基本相同。
如下图所示,在刚创建的 Frame 上放一个 GroupBox,里面放两个 Edit,底下放两个 Button。

在 Frame 上放几个控件

在 Button1 和 Button2 的点击事件里面写简单的测试程序:

void __fastcall TFrame2::Button1Click(TObject *Sender)
{
  ShowMessage(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TFrame2::Button2Click(TObject *Sender)
{
  ShowMessage(Edit2->Text);
}
//---------------------------------------------------------------------------

三. 把 Frame 放在 Form 上

Frame 不能像 Form 那样作为窗口显示出来,必须放在 Form 上,作为一个控件显示出来。

切换到主窗口 Form1,现在把 Standard 里面的 Frames 放在 Form1 上,如下图所示:

把 Frame 放在 Form 上

提示选择放在 Form 上的 Frame,这里只有刚才创建的 Frame2。

提示选择 Frame

点击 OK 按钮,刚才创建的 Frame2 就出现在 Form 上了。

把 Frame2 放在 Form1 上了

运行程序,会看到 Form1 上的 Frame2,并且点击 Button1 可以弹出提示框,显示 Edit1 里面文字;点击 Button2 可以弹出提示框,显示 Edit2 里面的文字。

运行结果

和普通的控件一样,Frame 也可以放在容器控件里面,例如 Panel 或 GroupBox,刚才的 Form1 上再放一个 GroupBox,在这个 GroupBox 里面再放一个 Frame2:

把 Frame2 放在 GroupBox1 里面

利用 Frame 可以把复杂的窗口分解到几个 Frame 里面,很多页面的 PageControl 可以把每个页面的内容放在各自的 Frame 里面,减少单个窗口的复杂程度和代码量。


相关:

  • Vcl::Forms::TFrame

C++ Builder 参考手册 ➙ TFrame 的使用方法

你可能感兴趣的:(TFrame 的使用方法 - C++ Builder)