線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1322
推到 Plurk!
推到 Facebook!

版面問題??

答題得分者是:syntax
lee5100954
一般會員


發表:15
回覆:10
積分:5
註冊:2005-11-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-06 11:48:52 IP:220.141.xxx.xxx 訂閱
我是使用Delphi 2006去開發程式的,我用的是寬營幕的nb去寫程式,我在寫程式時,把版面放在中間。
但當我把寫好的程式拿到另一台電腦上去跑時,因為那不是寬營幕,所以版面就偏右邊,請問我該如何設定,讓版面一直是在中間呢??


還有若我把寫好的程式放到解析度比較低的營幕時,它有此部份就會不見,請問有辦法像網頁一樣,出現score bar 嗎?


謝謝
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-06 13:05:58 IP:211.22.xxx.xxx 未訂閱
這個問題很多網友也提過,只不過鮮少人處理過這種問題,我也沒寫過類似的狀況。按照之前的討論你必須要在當前的螢幕解析度下(Screen.Width, Screen.Height)分別處理設定每個FORM的Scale 以及PixelPerInch甚至其上的每個子元件的高與寬,可以說是不小的工程。按照我的想法,應該是要繼承TFORM後重新改寫FORM的很多事件與屬性才能將自己的每個FORM適合與任一螢幕解析度吧。
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-06 13:31:28 IP:61.64.xxx.xxx 訂閱
不過是要置中而已麼
不需想太多
在 OnCreate 中加入

Left := (Screen.Width - Width) div 2 -1;
Top := (Screen.Height - Height) div 2 -1;
if Left < 0 then Left := 1;
if Top < 0 then Top := 1;

//** 修改大小,出現捲軸
if Top Height > Screen.Height then
begin
Height := Screen.Height - Top;
AutoScrool := True;
end;
這樣會永遠置中,並不會被遮蔽
系統時間:2024-05-14 15:26:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!