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

判斷 元件已經超出 form 的方法?

答題得分者是:hagar
c905165
中階會員


發表:50
回覆:120
積分:54
註冊:2002-09-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-03 04:50:25 IP:203.204.xxx.xxx 未訂閱
有時候,我們如果將元件放在 form 上,如果放超過,就會出現 form 本身會變成可以捲動,或者是 form 把它拉得太小,這個時候,要如何用程式碼判斷,是否有這個現象發生?
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-03 07:27:07 IP:61.56.xxx.xxx 未訂閱
你可以利用Form及其中各元件的下面幾個屬性經運算來判斷: Top Left Width Height
c905165
中階會員


發表:50
回覆:120
積分:54
註冊:2002-09-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-03 07:39:55 IP:203.204.xxx.xxx 未訂閱
也就是說,我要測試過「所有元件」的top height和left width有沒有超過form的width和height? 因為假設我的 form裡面有不少的元件,而這一些元件經過程式的執行一段時間之後,可能會被調位置,那假設我有100個元件,就要做好幾百次的判斷囉?
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-03 08:04:55 IP:192.168.xxx.xxx 未訂閱
引言: 也就是說,我要測試過「所有元件」的top height和left width有沒有超過form的width和height? 因為假設我的 form裡面有不少的元件,而這一些元件經過程式的執行一段時間之後,可能會被調位置,那假設我有100個元件,就要做好幾百次的判斷囉?
一個方向, 判斷Form有無跑出ScrollBar? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-03 08:20:14 IP:61.228.xxx.xxx 未訂閱
你可以考慮在元件被移動時, 做是否超出 Form 邊界的判斷呀 如果你是放新的元件時, 也可以先判斷 Mouse 的位置加上元件的 Height, Width 去判斷是否超出
c905165
中階會員


發表:50
回覆:120
積分:54
註冊:2002-09-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-03 12:24:22 IP:203.204.xxx.xxx 未訂閱
對對對,天使果然英明,但是要如何利用程式碼判斷出是否form已經跑出 scroll bar. 用人眼看當然沒有問題,但是用程式,我就不會了。
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-03 20:31:09 IP:202.39.xxx.xxx 未訂閱
這樣可行嗎?
begin
  if Form1.HorzScrollBar.Visible or Form1.VertScrollBar.Visible then
    // 超出邊界
end;
-- Everything I say is a lie.
c905165
中階會員


發表:50
回覆:120
積分:54
註冊:2002-09-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-03 21:00:06 IP:203.204.xxx.xxx 未訂閱
理論上不可行,因為這個只是設定成「是否要讓捲動軸設為可見」,也就是說不管捲軸是否已經產生作用,它只是設定說將來捲動軸是否會出現來。 實際上也不可行,因為剛剛利用程式跑過了,就是算捲動軸沒有出現,它還是會執行 then 底下的東西。請問還有解嗎? 希望它不是難題。
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩
c905165
中階會員


發表:50
回覆:120
積分:54
註冊:2002-09-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-03 21:14:12 IP:203.204.xxx.xxx 未訂閱
發現,根據 hargar 的做法改成: form1.HorzScrollBar.IsScrollBarVisible 就可以了,只是,它不是很聰明,有點死,所以做成game的判斷,就不太靈活。 謝謝 hargar 提供的訊息。
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩
系統時間:2024-04-27 17:32:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!