?? 如何動態生成控件? (2001年1月6日).txt
字號:
如何動態生成控件? (2001年1月6日)
本站更新 分類: 作者:趙亦平 推薦: 閱讀次數:375
(http://www.codesky.net)
--------------------------------------------------------------------------------
下面以動態生成一個按鈕為例:
procedure TForm1.Button1Click(Sender: TObject);
var
btn:TButton;
begin
btn:=TButton.Create(Self);
btn.Parent:=Self;
btn.Top:=100;
btn.Left:=100;
btn.Width:=80;
btn.Height:=30;
btn.Caption:='New';
end;
首先要聲明一個TButton的變量,然后再調用Create過程,接著設置
它的一些屬性就行了,其中最重要的是Parent屬性,如果不設置,
將無法顯示。如果動態生成的控件是不可視的,則不需Parent屬性。
如果是在編寫控件時要動態生成控件,則情況又稍有不同,Parent
是TWinControl類型,在上例中,btn的Parent設為Self,這個Self指的
是Form1,而TForm是TWinControl的子孫類,因此是正確的,如果
你編寫的控件并不是繼承自TWinControl類,則不能將要動態生成
的控件的Parent屬性設為Self,可以(我沒有用“必須”這個詞)設
成Self.Parent,但還有一點要注意的是,給Parent屬性賦值并不能在
控件的Create過程中實現,因為此時控件的Parent還沒有被賦值,所
應該在控件的Loaded過程中實現。
趙亦平
1999.6.9
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -