怎么样才能动态添加BUTTON等控件? |
答題得分者是:P.D.
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
這段給你參考, 重點在 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, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |