C++ Builder 參考手冊 ? TFrame 的使用方法
Frame 是什么呢?C++ Builder 的第一組控件 Standard 組里面的第一個控件的位置是 Frames,在新建項目里面,這個控件根本無法放在 Form 上。
- 創(chuàng)建 Frame
- 編輯 Frame
- 把 Frame 放在 Form 上
一. 創(chuàng)建 Frame
創(chuàng)建 TFrame:通過 File -> New -> Other...,在打開的選項當中,左面的目錄里面找到 C++ Builder Projects 里面的 C++ Builder Files,右面選擇 VCL Frame,點擊 OK 按鈕創(chuàng)建一個 Frame。

新創(chuàng)建的 Frame 就像一個沒有邊框和標題欄的空白的窗口:

打開剛創(chuàng)建的 Unit2.h 發(fā)現(xiàn) TFrame2 類繼承了 TFrame 類,而不是 TForm。

二. 編輯 Frame
Frame 沒有邊框和標題,除此之外,編輯 Frame 和設計窗口基本相同。
如下圖所示,在剛創(chuàng)建的 Frame 上放一個 GroupBox,里面放兩個 Edit,底下放兩個 Button。

在 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,現(xiàn)在把 Standard 里面的 Frames 放在 Form1 上,如下圖所示:

提示選擇放在 Form 上的 Frame,這里只有剛才創(chuàng)建的 Frame2。

點擊 OK 按鈕,剛才創(chuàng)建的 Frame2 就出現(xiàn)在 Form 上了。

運行程序,會看到 Form1 上的 Frame2,并且點擊 Button1 可以彈出提示框,顯示 Edit1 里面文字;點擊 Button2 可以彈出提示框,顯示 Edit2 里面的文字。

和普通的控件一樣,F(xiàn)rame 也可以放在容器控件里面,例如 Panel 或 GroupBox,剛才的 Form1 上再放一個 GroupBox,在這個 GroupBox 里面再放一個 Frame2:

利用 Frame 可以把復雜的窗口分解到幾個 Frame 里面,很多頁面的 PageControl 可以把每個頁面的內容放在各自的 Frame 里面,減少單個窗口的復雜程度和代碼量。
相關:
- Vcl::Forms::TFrame
C++ Builder 參考手冊 ? TFrame 的使用方法