?? 如何動(dòng)態(tài)生成控件? (2001年1月6日).txt
字號(hào):
如何動(dòng)態(tài)生成控件? (2001年1月6日)
本站更新 分類: 作者:趙亦平 推薦: 閱讀次數(shù):375
(http://www.codesky.net)
--------------------------------------------------------------------------------
下面以動(dòng)態(tài)生成一個(gè)按鈕為例:
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;
首先要聲明一個(gè)TButton的變量,然后再調(diào)用Create過程,接著設(shè)置
它的一些屬性就行了,其中最重要的是Parent屬性,如果不設(shè)置,
將無法顯示。如果動(dòng)態(tài)生成的控件是不可視的,則不需Parent屬性。
如果是在編寫控件時(shí)要?jiǎng)討B(tài)生成控件,則情況又稍有不同,Parent
是TWinControl類型,在上例中,btn的Parent設(shè)為Self,這個(gè)Self指的
是Form1,而TForm是TWinControl的子孫類,因此是正確的,如果
你編寫的控件并不是繼承自TWinControl類,則不能將要?jiǎng)討B(tài)生成
的控件的Parent屬性設(shè)為Self,可以(我沒有用“必須”這個(gè)詞)設(shè)
成Self.Parent,但還有一點(diǎn)要注意的是,給Parent屬性賦值并不能在
控件的Create過程中實(shí)現(xiàn),因?yàn)榇藭r(shí)控件的Parent還沒有被賦值,所
應(yīng)該在控件的Loaded過程中實(shí)現(xiàn)。
趙亦平
1999.6.9
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -