机房收费和谐的子窗体
来源:互联网 发布:免费域名解析网站软件 编辑:程序博客网 时间:2024/05/18 12:04
问题引入:
机房收费系统中在主窗体添加picture可以比较方便的将我们需要的控件添加到窗体上,但是这也导致了一下问题,因为是”相同的一个级别“,所以耍大牌的picture将其他的子窗体完完全全的挡在了后面
遇到问题、解决问题
一、比较受欢迎的方法是
1、引用API函数
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long2、在要打开窗体的代码处添加
比如要打开frmabout
<span style="font-size:18px;">frmabout.ShowSetParent frmabout.hWnd, frmmain.Picture1.hWnd</span>
3、在打开窗体的activate中
Dim a As Form For Each a In Forms If a.Name <> MDIForm1.Name And a.Name <> Me.Name Then a.WindowState = 1 End If Next
或者在deactivate中
If Me.WindowState <> 1 Then Me.WindowState = 1 End If
vbNormal 0正常 VbMinimized 1 最小化VbMaximized 2 最大化
另一种:窗体自动最小化
Private Declare Function GetForegroundWindow Lib "User32" () As Long Private Sub Form1_Load() Timer1.Interval = 100 End SubPrivate Sub Timer1_Timer()Dim frmCurr As Form If GetForegroundWindow <> Me.hWnd Then '判断获取的句柄与本窗体的句柄是否一致 frmCurr.WindowState = 1 '如果不一致就最小化 End IfEnd Sub
二、
1、 加载一个主窗体MDIfrom,但是只要它的外壳,另外建一个普通窗体如from1,将该窗体‘内嵌’主窗体中
2、主窗体show的时候该from1跟着show
3、其大小跟父窗体的大小相同
4、from1窗体的boderstyle属性设置为 0-None
5、利用父窗体的Resize事件(简单举例) :当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生
代码:
Private SubForm_Load()Text1.Text =""End Sub
<span style="font-size:18px;">Private SubForm_resize() Text1.Move 0, 0, ScaleWidth, ScaleHeightEnd Sub</span>
本来面目:
效果:
以上可以实现这两个窗体完美结合了,这带来好处也有坏处,如果一不小心点到from1,那么其他正在用的窗体就会被隐藏在from1后,而from1是铺满整个父窗体的,也就是说被隐藏的窗体是不太可能被找到的,因此我们引进了zorder方法 (另一个)
Form1.ZOrder 1
呵呵呵呵呵呵呵
收费中为了让from1位于最底层,需要在每一个可能成为活动窗体的activate事件中添加
form1.zorder 1
如果有错误,欢迎交流
- 机房收费和谐的子窗体
- 机房收费系统-MDI窗体与子窗体的问题
- 第一次机房收费系统--MDI主窗体与子窗体的显
- 机房收费系统—MDI窗体与子窗体
- 机房收费系统-----如何解决子窗体被picturebox挡住的办法
- 机房收费系统(五)有关子窗体的最小化功能
- 机房收费系统问题记录——子窗体的显示问题
- 机房收费系统-- MDI子窗体显示技巧
- 机房收费系统——子窗体最小化
- 机房收费中Panel控件解决子父窗体显示
- 【机房收费系统】MDI菜单显示子窗体
- 机房收费系统—子窗体如何显示
- 机房收费系统—子窗体被覆盖
- 【第一遍机房收费系统】——如何解决子窗体被父窗体图片框覆盖的问题
- 机房收费系统窗体功能分析
- 机房收费系统 窗体归类
- 机房收费之创建窗体
- 登录窗体--机房收费系统
- Spring Ioc基础总结
- Jquery -- ajax使用 和 json处理
- 【leetcode】Valid Number
- hdu1818 It's not a Bug, It's a Feature!(隐式图最短路径Dijkstra)
- java设计模式
- 机房收费和谐的子窗体
- MySQL数据库ERROR 1030 (HY000): Got error 28 from storage engine
- theme style 闪屏
- Windows,C/C++_字符串转换_MultiByteToWideChar和WideCharToMultiByte的正确使用方法及参数详解
- 用proc实时管理 Linux
- 写在开博前
- 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速
- PHP之面向对象学习
- cloudstack delete zone