在机房收费系统中,frmMain作为MDI的主窗体,想要在MDI主窗体上添加控件,picture控件可以起到此作用,但是在添加了picture控件以后,问题也就随之而来了。
点击子窗体的时候,子窗体被“吃掉”了,怎么样让他显示出来呢?想要解决picture控件挡住子窗体的,这里就用到了API函数中的SetParent函数。
SetParent的函数功能:改变某个子窗体的父窗口
下面看解决方法和需要注意的地方:
1、首先在模块中声明SetParent函数
声明方法:
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
2、MDI主窗体寻找想要显示的窗体Click事件
多举几个例子,从中找到他们的共同点
3、属性设置
BorderStyle: 设置为1
MDIChild: 改为Ture
4、跳转设置
先从上机开始吧,当我们上机后输入的卡号可能没有钱了,按照他的合理性他会提示我们让我们及时充值,这样就会直接跳转到充值窗体,方便我们的使用,但是我们同样会看到他会被主窗体的图片给“吃掉”,所以在任何一个跳转窗体前都要加上Set Parent函数代码。
举例说明:
If mrc.判断
MsgBox "余额不太多了,请先充值再上机!", vbOKOnly + vbExclamation, "温馨提示"
SetParent frm*.hwnd, frmMain.hwnd
frm*.Show
Exit Sub
End If
好了问题解决了,快来试试吧~