 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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的值,
這就有點複雜了!! |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|