作者chrisjon (開車/旅遊)
看板Visual_Basic
標題[VB6 ] 視窗切換
時間Thu Sep 6 22:39:12 2012
目前設定formbase和formadd
現在想要當點選formbase上的新增按鈕後,出現formadd
之後把formbase隱藏(或避免佔記憶體直接釋放,之後再叫出來,但我不會^^")
Private Sub Cmdnew_Click()
'新增資料,叫出新增視窗
Formadd.Show
Formbase.Visible = False
Formadd.SetFocus
End Sub
Formadd.SetFocus的用意在於
當出現Formadd後,搶走focus,之後如果結束新增或不小心關掉視窗
再用LostFocus來叫回Formbase
Private Sub Cmdnew_LostFocus()
'叫回基本視窗'
Formbase.Visible = True
End Sub
但執行下去卻變成Formbase不會消失,而且還搶走Focus
不知道是哪裡邏輯有問題呢?
在這裡先感謝先進的幫忙
另外再請教一下,有辦法關掉右上的 X 嗎?
或者當按下右上的 X ,一樣會跳出msgbox"確定"的訊息?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.126.190
※ 編輯: chrisjon 來自: 114.40.126.190 (09/06 22:41)
→ fumizuki:為什麼按下去隱藏視窗,離開焦點又要把視窗顯示出來? 09/06 22:55
→ fumizuki:視窗關閉有 QueryUnload 事件 09/06 22:56
→ fumizuki:按下叉叉或系統功能表的關閉 UnloadMode會為0 09/06 22:57
→ chrisjon:我的想法是,當setfocus後,base就losefocus 09/06 22:58
→ chrisjon:之後有意或不小心關掉add視窗,就會lostfocus 09/06 22:59
→ chrisjon:那時就會把base叫回來 09/06 22:59
→ fumizuki:Cancel 設為非零值,可以取消關閉視窗 09/06 23:01
→ fumizuki:問題你的程式碼不是隱藏了後馬上又顯示嗎... 09/06 23:02
→ chrisjon:QueryUnload找到了,也可以使用 09/06 23:14
→ chrisjon:我是想要formadd失焦(視窗不見)時叫回來用的 09/06 23:14
→ chrisjon:避免不小心把所有的視窗都關掉,然後程式關不起來 09/06 23:15
→ yauhh:form失焦不只有視窗不見,還包括焦點跑到別的視窗的情況 09/07 01:32
→ chrisjon:啊…我沒想到="=…謝謝! 09/07 10:19