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

動態創建物件的問題

尚未結案
JoneyLi
一般會員


發表:10
回覆:9
積分:3
註冊:2003-06-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-30 19:43:11 IP:211.101.xxx.xxx 未訂閱
Button1Click與FormCreate傚果不一樣,不知為何?還有就是有沒有其他的方法實現這種傚果,請指教!代碼如下: --------------------------------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg; type TForm1 = class(TForm) Button1: TButton; MiniBgPanel: TPanel; ScrollBox1: TScrollBox; ScrollBox2: TScrollBox; Panel1: TPanel; Image1: TImage; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure MYCLICK (Sender: TObject); end; var Form1: TForm1; cnpages : integer = 0; var MiniPanel1:TPanel; MiniImage1:TImage; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Inc(cnpages); MiniPanel1 := TPanel.Create(self); MiniPanel1.Parent :=MiniBgPanel; MiniPanel1.Visible := true; MiniPanel1.Align := alNone; MiniPanel1.Name := 'MiniPanel' INTTOSTR(cnpages); MiniPanel1.Caption := ''; MiniPanel1.Left := 8; MiniPanel1.Top :=21 (cnpages-1)*135; MiniPanel1.Height:= 134; MiniPanel1.Width:=174; MiniPanel1.Color := clAqua; MiniImage1:= TImage.Create(self); MiniImage1.OnClick:= MYCLICK; MiniImage1.Name := 'MiniImage1' INTTOSTR(cnpages); MiniImage1.Left:=7; MiniImage1.Top := 8 (cnpages-1)*135; MiniImage1.Height:=120; MiniImage1.Width:=160; MiniImage1.Parent:=MiniPanel1; MiniImage1.Visible:=true; MiniImage1.Canvas.Brush.Color := clWhite ; MiniImage1.Canvas.Brush.Style := bsSolid; MiniImage1.Canvas.FillRect(MiniImage1.ClientRect); end; procedure TForm1.MYCLICK (Sender: TObject); BEGIN IF Sender IS TIMAGE THEN BEGIN SHOWMESSAGE((Sender AS TIMAGE).Name); END; END; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Canvas.Brush.Color := clWhite ; Image1.Canvas.Brush.Style := bsSolid; Image1.Canvas.FillRect(Image1.ClientRect); Inc(cnpages); MiniPanel1 := TPanel.Create(self); MiniPanel1.Parent :=MiniBgPanel; MiniPanel1.Visible := true; MiniPanel1.Align := alNone; MiniPanel1.Name := 'MiniPanel' INTTOSTR(cnpages); MiniPanel1.Caption := ''; MiniPanel1.Left := 8; MiniPanel1.Top :=21 (cnpages-1)*135; MiniPanel1.Height:= 134; MiniPanel1.Width:=174; MiniPanel1.Color := clAqua; MiniImage1:= TImage.Create(self); MiniImage1.OnClick:= MYCLICK; MiniImage1.Name := 'MiniImage1' INTTOSTR(cnpages); MiniImage1.Left:=7; MiniImage1.Top := 8 (cnpages-1)*135; MiniImage1.Height:=120; MiniImage1.Width:=160; MiniImage1.Parent:=MiniPanel1; MiniImage1.Visible:=true; MiniImage1.Canvas.Brush.Color := clWhite ; MiniImage1.Canvas.Brush.Style := bsSolid; MiniImage1.Canvas.FillRect(MiniImage1.ClientRect); end; end. ---------------------------------------------------------------------
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-30 20:34:44 IP:61.216.xxx.xxx 未訂閱
MiniImage1的位置好像沒調好喔~你查察看 < src="http://delphi.ktop.com.tw/download/upload\33223_qoo.gif">網海無涯,學無止境!
JoneyLi
一般會員


發表:10
回覆:9
積分:3
註冊:2003-06-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-30 20:55:24 IP:211.101.xxx.xxx 未訂閱
好的,我識識看,謝謝!
JoneyLi
一般會員


發表:10
回覆:9
積分:3
註冊:2003-06-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-30 21:05:57 IP:211.101.xxx.xxx 未訂閱
我調嘞一下好像不行,FormCreate與Button1Click的代碼是一樣的,為何FormCreate的可以呢?希望講一下好嗎?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-30 21:11:12 IP:61.216.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject);
begin
 
 Inc(cnpages);     MiniPanel1 := TPanel.Create(self);
 MiniPanel1.Parent :=MiniBgPanel;
 MiniPanel1.Visible := true;
 MiniPanel1.Align := alNone;     MiniPanel1.Name := 'MiniPanel' INTTOSTR(cnpages);
 MiniPanel1.Caption := '';
 MiniPanel1.Left := 8;
 MiniPanel1.Top :=21 (cnpages-1)*135;
 MiniPanel1.Height:= 134;
 MiniPanel1.Width:=174;     MiniPanel1.Color := clAqua;     MiniImage1:= TImage.Create(self);
 MiniImage1.OnClick:= MYCLICK;
 MiniImage1.Name := 'MiniImage1' INTTOSTR(cnpages);
 MiniImage1.Left:=7;
 MiniImage1.Top :=7; //8 (cnpages-1)*135;
 MiniImage1.Height:=120;
 MiniImage1.Width:=160;     MiniImage1.Parent:=MiniPanel1;
 MiniImage1.Visible:=true;     MiniImage1.Canvas.Brush.Color := clWhite ;
 MiniImage1.Canvas.Brush.Style := bsSolid;
 MiniImage1.Canvas.FillRect(MiniImage1.ClientRect);    end;
 
網海無涯,學無止境! 發表人 - qoo1234 於 2003/06/30 21:17:53
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-30 21:12:48 IP:61.216.xxx.xxx 未訂閱
FormCreate程式碼維持之前的~    而Button1Click部分只要更改紅色部分~就正常了~ < src="http://delphi.ktop.com.tw/download/upload\33223_qoo.gif">網海無涯,學無止境! 發表人 - qoo1234 於 2003/06/30 21:22:54
系統時間:2024-05-16 3:04:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!