上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kinhome
註冊時間: 2010-04-22 文章: 27 來自: 台南
第 1 樓
|
發表於: 星期六 十二月 18, 2010 9:32 am 文章主題: 表單無法setfocus |
|
|
我在程式中...
_Screen.visible=.f.
do form 表單1
Read Events
然後在表單中設定ShowWindow=2,編譯成.exe後執行...
結果...
表單1顯示出來後無法setfocus,使用者必需用滑鼠再去點一下表單才能輸入資料。
請教各位大哥,我應該怎麼做才能讓使用者在程式執行後就能輸入資料呢??謝謝大家... |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 2 樓
|
發表於: 星期六 十二月 18, 2010 9:51 am 文章主題: |
|
|
_Screen.visible=.f. <===這行用意何在??? |
|
回頂端 |
|
|
kinhome
註冊時間: 2010-04-22 文章: 27 來自: 台南
第 3 樓
|
發表於: 星期六 十二月 18, 2010 10:02 am 文章主題: |
|
|
LiuRambo大大您好:
_Screen.visible=.f.
這個是讓vfp預設的系統功能表不要顯示出來,因為我只想顯示表單而已~ |
|
回頂端 |
|
|
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 4 樓
|
發表於: 星期六 十二月 18, 2010 11:44 am 文章主題: |
|
|
系統功能表不要顯示出來 <== 所以這才是重點
SET SYSMENU ON | OFF | AUTOMATIC | TO [MenuList] | TO [MenuTitleList]
| TO [DEFAULT] | TO LTRJUSTIFY | TO RTLJUSTIFY | SAVE | NOSAVE
參數
ON
在程式執行期間,當 Visual FoxPro 正在等待諸如 BROWSE、READ 和 MODIFY COMMAND 等命令的鍵盤輸入時,啟用 Visual FoxPro 主功能表列。
OFF
在程式執行期間關閉 Visual FoxPro 主功能表列。要使該設定生效,OFF 參數必須在一個程式 (.prg) 中執行。例如,當在一個程式中執行以下程式碼時,將關閉 Visual FoxPro 主功能表列。 |
|
回頂端 |
|
|
kinhome
註冊時間: 2010-04-22 文章: 27 來自: 台南
第 5 樓
|
發表於: 星期日 十二月 19, 2010 6:13 pm 文章主題: |
|
|
LiuRambo大大您好:
不好意思,可能我表達錯了。
SET SYSMENU off 我也是有用,這個只是讓系統功能表不要顯示,但是還是會出現背景是白色的部份,所以我才使用_Screen.visible=.f. 讓白色的部份不見了。
main.prg的程式如下...
SET SYSMENU off
_Screen.Picture=""
_Screen.visible=.f.
_Screen.WindowState =0
Set Status Bar Off
Set Escape Off
Set Talk Off
Set Bell On
Do Form 表單1
Read Events
編譯成.exe檔後執行...第一個畫面就是只有表單1。
問題在於...表單1無法取得焦點,要使用者去點一下表單1才能開始輸入資料。 |
|
回頂端 |
|
|
aizz
註冊時間: 2007-01-29 文章: 172
第 6 樓
|
發表於: 星期一 十二月 20, 2010 11:39 am 文章主題: Read Events 的 Focus 跑掉 |
|
|
kinhome 寫到: | LiuRambo大大您好:
不好意思,可能我表達錯了。
SET SYSMENU off 我也是有用,這個只是讓系統功能表不要顯示,但是還是會出現背景是白色的部份,所以我才使用_Screen.visible=.f. 讓白色的部份不見了。
main.prg的程式如下...
SET SYSMENU off
_Screen.Picture=""
_Screen.visible=.f.
_Screen.WindowState =0
Set Status Bar Off
Set Escape Off
Set Talk Off
Set Bell On
Do Form 表單1
Read Events
編譯成.exe檔後執行...第一個畫面就是只有表單1。
問題在於...表單1無法取得焦點,要使用者去點一下表單1才能開始輸入資料。 |
Read Events 後面, 你應該還有其它程式, 使得 Focus 跑到下一個程式
你想要 Focus 留在 Form 表單1, 則 Read Events 後面不能再有其它動作 |
|
回頂端 |
|
|
kinhome
註冊時間: 2010-04-22 文章: 27 來自: 台南
第 7 樓
|
發表於: 星期一 十二月 20, 2010 6:01 pm 文章主題: |
|
|
aizz大大您好:
Read Events 後面已經沒有程式了哦~
是不是大家都不會這樣呢??只有我的會這樣嗎??
因為我翻遍了討論版,好像大家都沒有這個問題。 |
|
回頂端 |
|
|
kinhome
註冊時間: 2010-04-22 文章: 27 來自: 台南
第 8 樓
|
發表於: 星期一 十二月 20, 2010 7:35 pm 文章主題: |
|
|
真是奇怪,我把表單的BorderStlye設為0
這樣就可以setfocus了
搞不懂這兩者有什麼相干 |
|
回頂端 |
|
|
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 9 樓
|
發表於: 星期一 一月 17, 2011 12:50 pm 文章主題: |
|
|
我猜您大概是用 xxx.prg 去叫用 xxx.scx,的方式將 Form 建立起來的,
如果是這樣,建議您使用
Do Form 表單1 Name 表單1_xxx Linked
表單1 就是您 xxx.scx 真實檔名,您 xxx.scx 的 thisform.name = 表單1_xxx,
再將它們 prg /scx 給 linked 起來就可以了
BorderStlye 相信您知道它不是這樣用的
謝謝. |
|
回頂端 |
|
|
|