VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

如何取得物件在表單中的絕對位置?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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()
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作