以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  “在容器中显示窗口”的实际应用  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4752)

--  作者:reachtone
--  发布时间:2009/10/26 12:24:00
--  “在容器中显示窗口”的实际应用
之前多次提到过“在容器中显示窗口”,不仅老六不置可否,连很多用户也不知道这样的功能究竟有什么用?
现做了个例子,大家可以分析一下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目12.table


在实际应用中,单纯的停靠窗口或模式(独立)窗口都有欠缺。停靠窗口要占用固定的屏幕空间;而模式(独立)窗口如果尺寸很大的话,又要遮挡住主表。因此,最好的解决办法就是:想用独立的窗口时,只要将窗口打开;不需要独立的窗口时,可将该窗口停靠到指定的容器中(这时就相当于停靠窗口了)。
这个要求现在是客户提出来的,我本以为用停靠窗口可以实现,但做出来的界面效果实在是不好看。
旧话重提,请老六抽空考虑一下。
[此贴子已经被作者于2009-10-26 12:24:25编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/10/26 13:50:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.table


--  作者:狐哥
--  发布时间:2009/10/26 13:59:00
--  
点二次 变化 有错误
--  作者:程兴刚
--  发布时间:2009/10/26 14:11:00
--  
就这样的功能,狐表简单可以实现,与您叙述的将整个窗口加入容器不符!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目12.rar


--  作者:czy
--  发布时间:2009/10/26 14:12:00
--  
加上打开和关闭窗口代码,如
Forms("窗口2").Open()
Forms("窗口2").AddControl(e.Form.Controls("Panel1"))
e.Form.Close()


窗口1代码要先判断窗口有无指定控件后再执行操作。
--  作者:czy
--  发布时间:2009/10/26 14:14:00
--  
整个窗口的话,所有控件要全部在容器控件中设计
--  作者:程兴刚
--  发布时间:2009/10/26 14:16:00
--  
楼主的窗口1是主窗口,有表,估计他不希望关闭窗口,采用分区面板的方式是很轻松就能实现的!
--  作者:程兴刚
--  发布时间:2009/10/26 14:22:00
--  
整个窗口与我的方法一样,只需要将录入窗口的所有控件搬到窗口1的面板1里面,再窗口1的分区面板的分区1再增加一个分区面板,通过隐藏分区1、显示分区2和隐藏分区2/显示分区1相互切换,这样录入窗口都不要了,就在主窗口操作比那样更灵活、使用,因为录入操作时,可以缩小主表的显示区域,不需要看这部分,还可以实现录入完毕自动切换!
--  作者:reachtone
--  发布时间:2009/10/26 14:53:00
--  

各位的讨论让我很受启发,谢谢!
但有很重要的一点,可能被大家忽略了:上面的解决方案可以把控件从“窗口1”平移到“窗口2”,这样以来,“窗口1”中的全局事件就不会执行了。
比如,textbox1中的keydown事件执行完以后,还要执行本窗口keydown中的全局事件。

[此贴子已经被作者于2009-10-26 14:55:02编辑过]

--  作者:程兴刚
--  发布时间:2009/10/26 15:01:00
--  

如果是非动态增删的控件,可以不需要全局事件!我的方案避开了动态增删,采用的是隐藏,各自的按钮还是在各自的窗口。
    如果动态增删按钮一样有办法,在窗口1、窗口2全局事件写同样的代码,通过判断控件名称来执行,只是窗口1、窗口2的控件名称要共同拥有唯一性,一样行得通!