設定 FormStyle = fsStayOnTop 即可讓視窗永遠顯示在最上層。
預設表單皆為 Auto Create (啟動時即駐留記憶體)。對於偶爾使用的對話框,可移至 Available forms,需用時動態建立:
TForm1 *myform = new TForm1(this);
myform->ShowModal();
delete myform;
優點:減少記憶體佔用;缺點:首次顯示稍慢。
利用 ControlCount 與 Controls[] 陣列可批次操作同類控制項。範例:清空 Panel1 上所有 TEdit:
AnsiString namestring = "TEdit";
for (int i = 0; i < Panel1->ControlCount; i++) {
if (Panel1->Controls[i]->ClassNameIs(namestring)) {
TEdit *p = dynamic_cast<TEdit*>(Panel1->Controls[i]);
p->Text = "";
}
}
Components[] 包含所有子元件 (含非視覺),Controls[] 僅含視覺控制項且限於特定容器區域。
// 表單標頭檔私有區宣告
HRGN hWndRgn;
// OnCreate 事件
hWndRgn = ::CreateEllipticRgn(0, 0, Width, Height);
::SetWindowRgn(hWndRgn, TRUE);
// 設定 BorderStyle = bsNone (無標題、無邊框)
Application->CreateForm(__classid(TChild), &Child); 即自動顯示,無需額外 Show。OnClose 設定 Action = caFree; 釋放記憶體,否則會殘留。