机房收费系统-MDI主窗体和子窗体(覆盖)

    在机房收费系统中,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
    好了问题解决了,快来试试吧~

猜你喜欢

转载自blog.csdn.net/weixin_39332529/article/details/80954408