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

非表單集的情況下,要如何轉移焦點到被呼叫的表單

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



註冊時間: 2013-08-23
文章: 4
來自: 台中

第 1 樓

發表發表於: 星期五 九月 13, 2013 1:30 am    文章主題: 非表單集的情況下,要如何轉移焦點到被呼叫的表單 引言回覆

這是主呼叫畫面承辦人欄位的 lostfocus 下的程式
select 員工基本資料
go top
set order to 1
if this.value <>"" or this.value <> " "
Seekfield = alltrim(this.value)
seek Seekfield
close index
endif
do case
case eof()
messagebox ("找不到資料" , 0+16)
go top
thisform.Quit_Buttom.enabled = .f.
this.value = " "
case this.value <>"" or this.value <> " "
scatter memvar
thisform.Text9.refresh
thisform.Text1.enabled = .t.
thisform.Text5.enabled = .f.
thisform.Quit_Buttom.enabled = .f.
do case
case 工作站基本資料.畫面選擇欄=1
do form 工作站接單畫面
case 工作站基本資料.畫面選擇欄=2
do form 工作站回報畫面
case 工作站基本資料.畫面選擇欄=3
do form 出入庫作業
endcase
thisform.Text1.value = " "
thisform.text2.value = " "
thisform.text3.value = " "
thisform.text4.value = " "
thisform.Text5.value = " "
thisform.text6.value = " "
thisform.text7.value = " "
thisform.text8.value = " "
thisform.Text9.value = " "
Workstation_No = " "
Receiptsort = " "
ReceiptNo = " "
thisform.refresh
endcase

thisform.Text1.enabled = .t.

這是被呼叫表單 load event 下的程式
set safe off
SELECT 出入庫暫存資料表.物件料號, 出入庫暫存資料表.異動數量,;
出入庫暫存資料表.狀態碼, 出入庫暫存資料表.單據別,;
出入庫暫存資料表.單據號碼;
FROM 庫存管理系統!出入庫暫存資料表;
WHERE 出入庫暫存資料表.單據別 = Receiptsort;
AND 出入庫暫存資料表.單據號碼 = ReceiptNo;
INTO TABLE 出入庫關聯資料表.dbf

這是被呼叫表單 init event 下的程式
priv wdrc
wdrc = 1
wdrc = reccount()
if wdrc > 1 &&如果表單中有兩筆以上記錄,則使用2號分頁框,多筆編輯
thisform.Oppg.Oppg1.pgf1.activepage = 2
thisform.Oppg.Oppg1.pgf1.page1.enabled = .f.
else &&&&如果表單中只有一筆記錄,則使用1號分頁框,單筆編輯
thisform.Oppg.Oppg1.pgf1.activepage = 1
thisform.Oppg.Oppg1.pgf1.page2.enabled = .f.
endif
thisform.text3.setfocus
thisform.refresh


程式在輸入完承辦人欄位畫面後,隨即開啓被呼叫表單,焦點應該留在被呼叫表單中的text3的欄位中
,等待使用者操控.
但系統執行結果,卻只有把被呼叫表單開啓,而程式繼續執行,讓焦點又轉回在主控表單.請問各位前輩
程式應該下達什麼命令,可讓焦點移回被呼叫表單中的text3的欄位.

ps.本人使用過read event 指令,雖可行,但是如要關閉被呼叫表單,必需連關兩次被呼叫表單,對於使用者來說
會增加許多困擾!並不好用

_________________
蕭雁
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



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

第 2 樓

發表發表於: 星期五 九月 13, 2013 6:08 am    文章主題: 引言回覆

試試將被呼叫的表單.
DeskTop=.T.
ShowWindow=1 - In Top-Level Form
WindowType=1 - Modal
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2057


第 3 樓

發表發表於: 星期五 九月 13, 2013 9:19 am    文章主題: 引言回覆

應該在 do form 出入庫作業 的下面加一行指令
出入庫作業.text3.setfocus

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
souryyem



註冊時間: 2013-08-23
文章: 4
來自: 台中

第 4 樓

發表發表於: 星期五 九月 13, 2013 11:59 pm    文章主題: 引言回覆

感謝兩位前輩的情義相挺!
jerryclt前輩的
DeskTop=.T.
ShowWindow=1 - In Top-Level Form
WindowType=1 - Modal
語法,在小弟的 FAXPRO 5.0中被判定語法錯誤

而garfield
Site Admin 前輩的
應該在 do form 出入庫作業 的下面加一行指令
出入庫作業.text3.setfocu
依舊無法將焦點移回被呼叫表單之中

然而就在腸思枯竭之際,想起了航站情緣中男主角因國家政局動盪,讓剛出國門的他---回不去了
於是小弟在 do form 出入庫作業 的下面加一行指令
thisform.Text1.enabled = .f.
關閉主控表單下,所有可以停駐的欄位 enabled = .f. 讓他---回不去了
只等到被呼叫表單作業結束時,再跨表單開啓欄位 表單名稱.欄位.enabled = .t.
希望這樣的小技巧可以讓正為 主從表單 不知如何聚焦的網友們 一點小小的幫助
最後還是得再次感謝兩位前n的指導,才讓小弟想出這樣的解決之道.謝謝!

_________________
蕭雁
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



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

第 5 樓

發表發表於: 星期六 九月 14, 2013 8:45 am    文章主題: 引言回覆

同樣是 Visual 版,
應該還是有:
DeskTop, ShowWindow, WindowType 這三個屬性吧!

請您試試執行附件 mtest.scx 在第三欄隨便打字,
再按ENTER後會呼叫出 stest.scx FORM,
只要將 WindowType 設為1,
就是您所要求的了!
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 3826
來自: Taipei,Taiwan

第 6 樓

發表發表於: 星期六 九月 14, 2013 9:48 am    文章主題: 引言回覆

"同樣是 Visual 版,
應該還是有:
DeskTop, ShowWindow, WindowType 這三個屬性吧! "

有.

該不會樓主直接下
DeskTop=.T.
而不是
xxform.desktop = .t.
例如:
出入庫作業.desktop = .t. (假設 出入庫作業 的 form.name = "出入庫作業")


-----
本人pc上隨時保持 fpw 2.6M,vfp 3.0, 5.0 ,6.0,7.0,8.0,9.0 等版本以供測試.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
jerryclt



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

第 7 樓

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

syntech 寫到:
"同樣是 Visual 版,
應該還是有:
DeskTop, ShowWindow, WindowType 這三個屬性吧! "

有.

該不會樓主直接下
DeskTop=.T.

而不是
xxform.desktop = .t.
例如:
出入庫作業.desktop = .t. (假設 出入庫作業 的 form.name = "出入庫作業")


-----
本人pc上隨時保持 fpw 2.6M,vfp 3.0, 5.0 ,6.0,7.0,8.0,9.0 等版本以供測試.


我也是這樣猜 @@
只是本人的PC並沒有隨時保持 fpw 2.6M,vfp 3.0, 5.0 ,6.0,7.0,8.0,9.0 等版本以供測試. (後悔莫及)
回頂端
檢視會員個人資料 發送私人訊息
cool



註冊時間: 2003-05-17
文章: 47


第 8 樓

發表發表於: 星期二 十月 15, 2013 12:16 pm    文章主題: 引言回覆

借個版面, 順便請教各位類似的問題

如果我呼叫的是已經編譯成 出入庫作業.APP 的程式
呼叫的方式是 DO 出入庫作業.APP

我試了 出入庫作業.TEXT1.SETFOCUS
結果是找不到 該 出入庫作業 OBJECT
變成APP後應該已經不是 FORM 的型態了

那是否有方法 SETFOCUS 到 出入庫作業.APP 的特定欄位呢
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 9 樓

發表發表於: 星期三 十月 16, 2013 9:13 am    文章主題: 引言回覆

如果山不轉就路轉吧
加個參數傳遞過去如何呢?
DO 出入庫作業.APP with '某特定欄位'
回頂端
檢視會員個人資料 發送私人訊息
cool



註冊時間: 2003-05-17
文章: 47


第 10 樓

發表發表於: 星期三 十月 16, 2013 12:53 pm    文章主題: 引言回覆

謝謝回覆, 若是新開該 出入庫作業.app 您的方式應該是可以
但若該 出入庫作業.app 早已被開啟, 要如何才可以 setfocus 呢
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 3826
來自: Taipei,Taiwan

第 11 樓

發表發表於: 星期三 十月 16, 2013 4:40 pm    文章主題: 引言回覆

透過 WIN32 找到 FORM,
再用 WIN32 SENDMESSAGE 遙控這個FORM. Twisted Evil Twisted Evil Twisted Evil




最好是設計成 SDI 的介面,省掉這些有的沒的的問題.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
saint



註冊時間: 2003-07-14
文章: 211


第 12 樓

發表發表於: 星期四 十月 17, 2013 8:43 am    文章主題: 引言回覆

syntech 寫到:
透過 WIN32 找到 FORM,
再用 WIN32 SENDMESSAGE 遙控這個FORM. Twisted Evil Twisted Evil Twisted Evil




最好是設計成 SDI 的介面,省掉這些有的沒的的問題.


Cool 哥,也許你要認真思考 syntech的建議,改變一下設計方式,會不會來的好一點呢?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
syntech



註冊時間: 2003-05-16
文章: 3826
來自: Taipei,Taiwan

第 13 樓

發表發表於: 星期四 十月 17, 2013 11:49 am    文章主題: 引言回覆

我只有一個想法,
不管你的想法有多先進,你必須要有完成這個想法的技能.


Cool 兄不然就先不要拆成很多APP,
把所有FORM通通放在同一個EXE,
這樣會比較簡單做到.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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