全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1213
推到 Plurk!
推到 Facebook!

怎么样才能动态添加BUTTON等控件?

答題得分者是:P.D.
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-14 16:14:08 IP:125.215.xxx.xxx 訂閱
我通过API动态新建了一个窗体,接着我想在这个窗口上面增加一系列的,比如说LABEL,EDIT,BUTTON控件,该怎么弄?难道是一个一个的添加?通过tBUTTON:=tBUTTON.CREATE ?还是会有其他更好的办法?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-14 17:37:11 IP:61.67.xxx.xxx 未訂閱
這段給你參考, 重點在 mbutton 這段
[code delphi]
procedure TForm_PosArea.FormCreate(Sender: TObject);
var col, row: integer;
colpitch, rowpitch: integer;
mbutton: TColorBtn;
begin
with DM_PartPos do begin
mname:= 1;
col:= 1;
row:= 1;
colpitch:= 15;
rowpitch:= 15;
IBQ_D7000a.Open;
IBQ_D7000a.First;
while not IBQ_D7000a.Eof do begin
// 轉貨倉要扣除自己的本倉
if IBQ_D7000a.FieldbyName('LTDNO').AsString=U_Default.LTDrecord.ltdno then
begin
IBQ_D7000a.Next;
continue;
end;
mButton := TColorBtn.Create(self);
mButton.Parent := self;
mButton.Height := 50;
mButton.Width := 80;
mButton.Left := 20 ((col-1) * (mButton.Width colpitch));
mButton.Top := 15 ((row-1) * (mButton.Height rowpitch));
mButton.Name := format('Btn%.3d',[mname]);
mButton.Caption := IBQ_D7000a.FieldbyName('LTDNO').AsString #13
IBQ_D7000a.FieldbyName('SHORTNAME').AsString;
mButton.OnClick := btnClick;
inc(col);
if col>6 then begin
col:= 1;
inc(row);
end;
IBQ_D7000a.Next;
end;
IBQ_D7000a.Close;

[/code]

結果就像下列圖片, 根據 database 的資料來建立button, 每一排6個
編輯記錄
P.D. 重新編輯於 2008-01-14 17:44:27, 註解 無‧
系統時間:2024-03-29 18:56:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!