作者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)
1F:→ fumizuki:为什麽按下去隐藏视窗,离开焦点又要把视窗显示出来? 09/06 22:55
2F:→ fumizuki:视窗关闭有 QueryUnload 事件 09/06 22:56
3F:→ fumizuki:按下叉叉或系统功能表的关闭 UnloadMode会为0 09/06 22:57
4F:→ chrisjon:我的想法是,当setfocus後,base就losefocus 09/06 22:58
5F:→ chrisjon:之後有意或不小心关掉add视窗,就会lostfocus 09/06 22:59
6F:→ chrisjon:那时就会把base叫回来 09/06 22:59
7F:→ fumizuki:Cancel 设为非零值,可以取消关闭视窗 09/06 23:01
8F:→ fumizuki:问题你的程式码不是隐藏了後马上又显示吗... 09/06 23:02
9F:→ chrisjon:QueryUnload找到了,也可以使用 09/06 23:14
10F:→ chrisjon:我是想要formadd失焦(视窗不见)时叫回来用的 09/06 23:14
11F:→ chrisjon:避免不小心把所有的视窗都关掉,然後程式关不起来 09/06 23:15
12F:→ yauhh:form失焦不只有视窗不见,还包括焦点跑到别的视窗的情况 09/07 01:32
13F:→ chrisjon:啊…我没想到="=…谢谢! 09/07 10:19