效果圖如下:
實現部分**如下:
varrec: integer = 0; //記錄增行按鈕點選次數
implementation
//動態釋放單個元件記憶體,即銷毀元件
procedure tform1.deleterow(sender: tobject);
begin
if rec < 1 then
exit
else
begin
tpanel(panel1.controls[rec]).free; //釋放單個控制項記憶體
tcombobox(panel2.controls[rec]).free;
tedit(panel3.controls[rec]).free;
dec(rec); //增行按鈕次數遞減
end;
end;
//動態建立單個元件
procedure tform1.addrow(sender: tobject);
var e:integer; //記錄當前元件總數量
edt: tedit;
pnl: tpanel;
combo: tcombobox;
begin
inc(rec); //按鈕點選次數
e := panel3.controlcount; //edit數量
//動態建立edit
edt := tedit.create(panel3);
edt.parent := panel3;
edt.left := edit1.left;
edt.top := edit1.top + (edit1.height + 3)*e;
edt.width :=edit1.width;
edt.height := edit1.height;
edt.text := 'edit' + inttostr(rec + 1);
edt.show;
//panel、combobox建立方法與edit相同
end;
DELPHI動態建立窗體
第一種方式 procedure tform1.btn1click sender tobject begin try showmodal finally free end end 第二種方式 procedure tform1.btn2click sender tobject begin if not ...
delphi 入門之《動態建立選單》
delphi 入門之 動態建立選單 由於在專案中用到動態建立選單的功能,簡單的記錄下,主要是根據json的配置檔案動態的建立選單,用到的有乙個json選單配置檔案,json轉換的工具類superobject,具體的 如下所示 1 json配置檔案 choj homeurl menuurl menu ...
qml動態建立元件物件
qml動態建立元件物件,使用分離js檔案,動態銷毀物件,屬性別名等。main.cpp include int main int argc,char argv main.qml import qtquick 2.7 import qtquick.controls 2.0 import qtquick....