前言
刚开始进行机房的时候(那都是一个半月之前的事了),以为主窗体就是一个普通的窗体,当时也没有多向,就开始在上边一个一个的添加控件,还要摆放整齐(强迫症),可是控件添加好之后,我发现,不是那么回事啊,这是我想要的窗体啊!
于是我就踏上了窗体控件重加之路!
主窗体
我改成MDI窗体之后,我返现MDI窗体是无法直接添加控件的,我就去寻找解决方案,找到了两种解决方案!
第一种就是你可以在MDI显示的时候,让MDI显示一个普通窗体,在普通窗体里添加控件,在这里需要注意的就是,那个普通的窗体要设置成无边框模式!
第二种,最常见的一种,也是我使用的一种,就是MDI窗体上添加一个picture控件,在控件上添加别的控件!添加后,你会发现,子窗体无法正常显示出来,其实它是被picture控件给挡住了!
子窗体
对于第二种解决衍生出来的问题也有两种解决方案:
(一)
就是在显示子窗体的时候,将picture控件给隐藏!但是这样还有一些弊端就是,在显示子窗体的时候,看不到主窗体,所以并不推荐大家用这种方法!
(二)
就是利用API函数:SetParen
应用程序可以使用SetParent函数来设置弹出式窗口,层叠窗口或子窗口的父窗口。新的窗口与窗口必须属于同一应用程序。
函数功能:该函数改变某个子窗口的父窗口。
1.我们首先要在模块声明好这个函数
'Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long'
我们可以在VB6.0的API浏览器里去找到这段声明的代码
2.然后在主窗体的子窗体菜单选项输入
SetParent 子窗体名.hwnd, 主窗体名.hwnd
子窗体名.Show
3.我们需要设置一下子窗体的长和宽,否则会出现子窗体被顶到picture窗体上边去的情况
Me.Height = 6666
Me.Width = 8888