|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
chioucy
註冊時間: 2004-05-26 文章: 33
第 1 樓
|
發表於: 星期三 二月 04, 2009 4:54 pm 文章主題: 如何取得物件在表單中的絕對位置? |
|
|
請問各位前輩
一般物件(如textbox等)可用top left 取得其在父物件的 y x 座標位置
(相對於該父物件的位置 , 如果該物件的父物件是form, 那麼 top left 即可得該物件在form中的位置)
但如果物件是在某個container 或 page frame 中 試問要如何取得其在
form中的絕對位置呢?
(目前我的作法是取得該物件各父層的位置後相加得到 但想說是否有比較好的方式) |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
發表於: 星期五 二月 06, 2009 5:50 pm 文章主題: |
|
|
沒這種屬性可以直接取用,
參考一下我的程式碼吧.
代碼: |
********************
** 傳回物件相對於_screen 的實際座標
* 範例: thistop = realpos( this , 'top',0)
* thisleft = realpos( this , 'left',0)
FUNCTION realpos
LPARAMETERS mobj,mproperty,mvalue
* mproperty 請傳來 屬性名, 例 'top' , 或 'left'
IF TYPE('mobj.parent')='O' &&--還沒到_screen
mvalue=realpos(mobj.parent,mproperty,mvalue + IIF(TYPE('mobj.&mproperty')='N',mobj.&mproperty , 0) )
ELSE
mvalue=mvalue + IIF(TYPE('mobj.&mproperty')='N',mobj.&mproperty , 0)
ENDIF
RETURN mvalue
|
_________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
chioucy
註冊時間: 2004-05-26 文章: 33
第 3 樓
|
發表於: 星期五 二月 06, 2009 7:57 pm 文章主題: |
|
|
感謝 garfield
好方法 利用遞迴 簡潔 ! |
|
回頂端 |
|
|
jerryclt
註冊時間: 2009-03-10 文章: 334 來自: 佛心來的
第 4 樓
|
發表於: 星期四 三月 10, 2011 12:42 pm 文章主題: |
|
|
上述程式碼未將pageframe的頁標題高度考慮進去,
(pageframe1.height-pageframe1.pageheight) |
|
回頂端 |
|
|
DennisTsai
註冊時間: 2005-07-26 文章: 176
第 5 樓
|
發表於: 星期四 三月 10, 2011 12:58 pm 文章主題: |
|
|
OBJTOCLIENT() |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|