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

如何在 editbox 里的 keypress method 顯示最新的游标位置

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Darren



註冊時間: 2007-10-18
文章: 57


第 1 樓

發表發表於: 星期日 九月 01, 2013 3:05 pm    文章主題: 如何在 editbox 里的 keypress method 顯示最新的游标位置 引言回覆

我在一個 form 里加入一個 editbox, 一個 button 還有 一個 新的 property 叫 savepos.

在 editbox 的 keypress method 里, 我輸入下面的程式碼 :-
thisform.savepos = this.SelStart

然後在 button 的 click method 里輸入下面的程式碼 :-
WAIT WINDOW thisform.savepos

我的用意是要在 editbox 的 keypress method 里找出最新的游标位置.

所以執行程式後, 我在 editbox 里輸入了以下的內容 (在下面兩行線之間) :-

--------------------------
this is a test<ENTER>
a test for editbox<ENTER>
--------------------------

我的游标位置現在停在第三行的第一個位置.當我按 CTRL-HOME 時, 我的游标被更新到第一行的第一個位置, 當我click button 時, 所顯示的游标位置是舊的位置 (34), 而不是0, 然後我繼續按 down arrow, 再click button, 所顯示的游标位置是0, 而不是16, 想請問各位高手, 如何在 keypress method 里拿到最新的游标位置 ?
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1645


第 2 樓

發表發表於: 星期日 九月 01, 2013 4:12 pm    文章主題: 引言回覆

好像繞了遠路

直接在 click method 里輸入下面的程式碼 :-
WAIT WINDOW thisform.editbox1.SelStart

不行嗎?
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
Darren



註冊時間: 2007-10-18
文章: 57


第 3 樓

發表發表於: 星期日 九月 01, 2013 4:35 pm    文章主題: 引言回覆

用滑鼠 click editbox 沒問題, 但是如果用鍵盤按 left, right, up 和 down button 便有問題了
回頂端
檢視會員個人資料 發送私人訊息
Darren



註冊時間: 2007-10-18
文章: 57


第 4 樓

發表發表於: 星期一 九月 02, 2013 10:02 am    文章主題: 引言回覆

各位, 不好意思, 我找到問題了, 是我程式的問題, 所以證實用 editbox.selstart 就可以了. 謝謝 ckp6250.
回頂端
檢視會員個人資料 發送私人訊息
Darren



註冊時間: 2007-10-18
文章: 57


第 5 樓

發表發表於: 星期一 九月 02, 2013 10:21 am    文章主題: 引言回覆

跟大家分享我的問題. 原因是 editbox 的內容里有中英文, 所以中文是 double byte, 英文是 single byte, 所以我必須用 lenc, substrc, leftc, at_c 的 function 才可以, 希望可以幫到其他的人
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 6 樓

發表發表於: 星期一 九月 02, 2013 5:38 pm    文章主題: 引言回覆

如果只是要得知游標的位置, 試試看這樣子~~~

在 editbox1 的 InteractiveChange method 內下
WAIT WINDOW this.SelStart NOWAIT

這樣就不需要 click command1 button後才能得知游標位置,
但如果要做到顯示 [列][行],
就得要對 CHR(13) CHR(10) 單/雙位元......等做判斷再加以計算SelStart的值,
這就有點複雜了!!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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