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

有關螢幕解析度的問題

答題得分者是:Justmade
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-29 17:40:05 IP:61.220.xxx.xxx 未訂閱
小弟的開發設計時為1024*768, 但是遇到有user的解析度為800*600,因為螢幕也很小14,15吋的CRT, 若要是調到1024*768的話字就會很小,但若是800*600的話有些字會看不到,請問各位大大,除了購買較大的螢幕之外,有何方式可以解決阿??
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-29 18:53:06 IP:218.16.xxx.xxx 未訂閱
你可試試 Form1.ScaleBy(75/100); //即 75% ,改成你喜歡的比率 會將所有可變大小的 WinControl 的大小變為原本的 75% 不過由於 Fonts 大小等不會變(只改變Control 大小) 所以不是完全沒問題。你可以順便改一改 Form 的 Fonts 使所有用 Parant Fonts 的的一起把 Fonts 變小。 這樣做結果不會很好看但總比有些部份看不到好。 另外的做法就是將主要的 Panel 會變成 ScrollBox 讓 800X600 的用家可以 Scroll,但若你很多 Panel 用 alClient 的話也是很難做好。 要讓以800X600的為藍圖的程式在 1024 跑易,反之則很難,所以現時來說若你想大部份人能用便應以 800X600 為基本藍圖。
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-30 14:01:02 IP:61.220.xxx.xxx 未訂閱
小弟使用了ScrollBox 的方式來處理,因為所有元件都是動態create出來的, 我在form creat 後,所有元件產生了,利用一個button來處理,結果都出現 ScrollBox has no parent window 錯誤    procedure TForm1.Button1Click(Sender: TObject); var    i,ScrollBoxCount:integer;    CreateScrollBox:boolean; begin    CreateScrollBox:=false;    if (screen.Width<1024) and (screen.Height<768) then CreateScrollBox:=true; if CreateScrollBox then begin ScrollBoxCount:=0; for i:=0 to ComponentCount-1 do begin if Components[i] is TWinControl then if Components[i] is TTabSheet then begin with TScrollBox.Create(self) do begin inc(ScrollBoxCount); name:='scrollbox' inttostr(ScrollBoxCount); parent:=TTabSheet(findcomponent('tabsheet' inttostr(ScrollBoxCount))); Align:=AlClient; end; end; end; for i:=0 to ComponentCount-1 do begin if Components[i] is TWinControl then if TControl(Components[i]).parent is TTabSheet and ((Components[i] is TDBEdit) or (Components[i] is TLabel) or (Components[i] is TButton) or (Components[i] is TEdit) or (Components[i] is TDBCheckBox) or (Components[i] is TDBRadioGroup) or (Components[i] is TDBMemo) )then begin TControl(Components[i]).parent:=TScrollBox(FindComponent('scrollbox' (copy(TControl(Components[i]).parent.name,9,length(TControl(Components[i]).parent.name)-8)))); end; end; end; end; 發表人 - yabula 於 2003/04/30 14:38:23
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-30 19:38:45 IP:218.16.xxx.xxx 未訂閱
不好意思,剛才沒看到這個。如另一篇所言,加上 self 使 FindComponent 在 Form 裡執行應該就可以了。
系統時間:2024-11-23 8:44:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!