上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
小柯
註冊時間: 2003-11-27 文章: 78
第 1 樓
|
發表於: 星期六 九月 04, 2021 9:25 pm 文章主題: 請教Edit物件內可以畫線嗎? |
|
|
請教各位有經驗的先進,foxpro有沒有辦法做到在edit物件內畫出一條直線,而又不影響裡面的文字輸入(如圖示)?
我的目的是要提醒使用者,文字輸入超出界線的話,報表列印時,超過界線的文字將會自動移至下一行列印。 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期日 九月 05, 2021 5:30 am 文章主題: |
|
|
可以啊,拉一條【直線物件】在疊上去就好了。 |
|
回頂端 |
|
|
小柯
註冊時間: 2003-11-27 文章: 78
第 3 樓
|
發表於: 星期日 九月 05, 2021 8:11 pm 文章主題: |
|
|
直接將線畫在edit內是可以,但在輸入文字時,線會消失。 |
|
回頂端 |
|
|
小柯
註冊時間: 2003-11-27 文章: 78
第 4 樓
|
發表於: 星期日 九月 05, 2021 9:11 pm 文章主題: |
|
|
目前只想到一個方法,就是在Timer裡面設ThisForm.Line1.Refresh算是較勉強的變通做法,但不知是否還有更完美的做法? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期日 九月 05, 2021 9:18 pm 文章主題: |
|
|
我想到的也是ckp6250兄說的一樣.
劃一條線,ZORDER=1 (最底).
上面疊上EDIT1,ZORDER=0 (最上),BACKSYTLE = 0(透明)
所以EDIT1就會看到一條線,也不會妨礙輸入
但事情好像不是憨人想的那樣 XD
(上面的方法是 "半對") _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 6 樓
|
發表於: 星期一 十二月 13, 2021 10:52 am 文章主題: |
|
|
edit1 內畫直線方法如下:
1.在edit1 疊上一直線 line1 設為在上方(front)
2. 在edit1 的interactivechange ,及gotfocus 內輸入
thisform.line1.Visible=.t.
完美解決 |
|
回頂端 |
|
|
小柯
註冊時間: 2003-11-27 文章: 78
第 7 樓
|
發表於: 星期三 十二月 15, 2021 9:43 am 文章主題: |
|
|
感謝CPS0204狐友所提供的方法,但經測試倘edit1內有多頁的文字內容,用滑鼠做捲動scroll的動做或翻頁時,該edit1內畫的直線仍會受影響消失不見。 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 8 樓
|
發表於: 星期三 十二月 15, 2021 11:16 am 文章主題: |
|
|
感謝CPS0204狐友所提供的方法,但經測試倘edit1內有多頁的文字內容,用滑鼠做捲動scroll的動做或翻頁時,該edit1內畫的直線仍會受影響消失不見。
**********
將thisform.line1.visible=.t. 放到上述的事件中即可! |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 9 樓
|
發表於: 星期三 十二月 15, 2021 3:26 pm 文章主題: |
|
|
若所有事件都放thisform.line1.Visible=.t.
但你滾輪scroll也是會斷線
建議加入一個timer
在form.ini
thisform.timer.interval=1000 && 每秒刷新一次
timer的事件:
thisform.line1.Visible=.t. |
|
回頂端 |
|
|
小柯
註冊時間: 2003-11-27 文章: 78
第 10 樓
|
發表於: 星期三 十二月 15, 2021 9:18 pm 文章主題: |
|
|
謝謝CPS0204,在沒有更好的方法解決前,我暫時就是使用Timer來解決。 |
|
回頂端 |
|
|
|