有關於Panel動態Create的問題 |
答題得分者是:Justmade
|
mangogo
一般會員 ![]() ![]() 發表:3 回覆:3 積分:1 註冊:2002-11-05 發送簡訊給我 |
請教版主:
我寫了一支小程式,就是按下一個button,功能是可以一直動態Create Panel
內容 :
我在Form中設了一個PageControl,旁邊有一個button
每按一下button,就會Create一個TabSheet,然後連續Create 3個Panel至
該TabSheet中,但是Panel的Create的屬性Align是 := alLeft
但是按下第一次的Button之後,會是Panel3在最左邊,Panel1在最右邊
之後按下第二次以後的Button之後,會是Panel1在最左邊,Panel3在最右邊
這樣就是正常的了,很奇怪,第一次一定會不OK
我可能述說的差了一點,請有能力的人幫我看一下這段10幾行的小程式好嗎?
因為我在專案上會用到此功能
謝謝~ 程式碼如下 :
procedure TForm1.Button1Click(Sender: TObject);
var
NewTabSheet: TTabSheet;
NewPanel: TPanel;
NewLabel: TLabel;
i: Integer;
begin
NewTabSheet := TTabSheet.Create(nil);
NewTabSheet.Caption := '測試TabSheet';
NewTabSheet.Font.Size := 10;
NewTabSheet.Font.Name := '新細明體';
NewTabSheet.PageControl := PageControl1; for i:=1 to 2 do
begin
NewPanel := TPanel.Create(nil);
NewPanel.Caption := 'PanelCaption' IntToStr(i);
NewPanel.Name := 'PanelName' IntToStr(i);
//NewPanel.AutoSize := True;
NewPanel.BorderWidth := 10;
NewPanel.Align := alLeft;
//NewPanel.BevelOuter := bvNone;
NewPanel.Parent := NewTabSheet;
end;
end; 帥帥的mangogo
------
帥帥的mangogo |
Justmade
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
我也不知道仔細的原因,但我的經驗是有些東西在顯示在顯示時做和隱藏時做是有點不同的,大概是因為顯示時做要不斷 repaint 隱藏時不用罷。 你的程式第一次時 TPanel 是顯示時 Create 的但之後是 隱藏時 Create 的,所以有這問題。既是這樣,連第一次也是隱藏時做便好了, 方法很簡單,只要將你 NewTabSheet.PageControl := PageControl1 那行放到最後便可以了。
procedure TForm1.Button1Click(Sender: TObject); var NewTabSheet: TTabSheet; NewPanel: TPanel; NewLabel: TLabel; i: Integer; begin NewTabSheet := TTabSheet.Create(nil); NewTabSheet.Caption := '測試TabSheet'; NewTabSheet.Font.Size := 10; NewTabSheet.Font.Name := '新細明體'; for i:=1 to 2 do begin NewPanel := TPanel.Create(nil); NewPanel.Caption := 'PanelCaption' IntToStr(i); NewPanel.Name := 'PanelName' IntToStr(i); NewPanel.BorderWidth := 10; NewPanel.Parent := NewTabSheet; NewPanel.Align := alLeft; end; NewTabSheet.PageControl := PageControl1; end;搶了站長的題來答不好意思喔。 |
mangogo
一般會員 ![]() ![]() 發表:3 回覆:3 積分:1 註冊:2002-11-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |