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

請問有上下兩個一樣高的panel在視窗放大後也能等高

答題得分者是:P.D.
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-14 00:56:49 IP:61.230.xxx.xxx 訂閱
因為我只會用Anchors來調,但Anchors只能選擇對齊一邊,沒有那種均分的功能,請問我該如何實現程式碼呢?
而能使上下兩個一樣高的panel在視窗放大後也能等高?
P.D.
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-12-14 01:57:43 IP:61.67.xxx.xxx 未訂閱
一個panel設 altop, 一個設 alclient
然後在 form1.onresize事件上寫程式, 沒有實作, 重點是利用
form.hight-標題欄高度(如果是傳統windows介面, 大約是23pixel) / 2 這就是重新指定panel1的heigh,
panel2 就會自動填滿其他空間
如果不講究十分精確的話, 這種做法是看起來可以差不多的!
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-12-14 12:08:57 IP:60.250.xxx.xxx 訂閱

[code delphi]
procedure TForm1.FormResize(Sender: TObject);
begin
panel1.Height := (form1.Height -getsystemmetrics(sm_cycaption)-getsystemmetrics(sm_cyframe)-(getsystemmetrics(SM_CXBORDER)*2)) div 2;

end;
[/code]
我寫成這樣不知道寫法是否正確,標題欄高度,按這樣算出來是24
編輯記錄
17kobe 重新編輯於 2007-12-14 12:09:44, 註解 無‧
P.D.
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-12-14 16:34:45 IP:61.67.xxx.xxx 未訂閱
程式都已經出來了, 你只要run了就知道對不對了, 不是嗎?
或者我突然想到一個東西, 你只要用 form1.clientheight /2 就可以了啊
編輯記錄
P.D. 重新編輯於 2007-12-14 16:58:29, 註解 無‧
17kobe
初階會員


發表:86
回覆:73
積分:31
註冊:2007-07-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-12-14 18:11:43 IP:60.250.xxx.xxx 訂閱
panel1.Height := form1.clientheight div 2;

太強了,這應該是最佳的方法囉
系統時間:2024-05-15 20:33:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!