现在的位置: 首页 > 综合 > 正文

机房收费系统之子窗体显示问题

2017年08月05日 ⁄ 综合 ⁄ 共 756字 ⁄ 字号 评论关闭

敲机房时先是登陆窗体,之后就是主窗体了,主窗体是一个MDI窗体,要想在MDI窗体上添加控件,就必须先放上一个picture,就是先在上面放上一个容器,你才能在容器里放其他的控件。但是,问题就来了,控件是放上去了,但是子窗体是怎么也显不出来……于是上网查:

1、  在模块中引用setparent函数:

</pre><pre name="code" class="vb">Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

此函数的功能:改变某个子窗口的父窗口

参数:hWndChild:子窗口句柄

           hWndNewParent:新的父窗口句柄

返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。


2、 在菜单的单击事件中添加代码:

SetParent  想要显示子窗体名称.hWnd,MDI窗体.hWnd

    例如:

SetParent frmInquirebal.hWnd,frmMain.hWnd

但是添加了此代码之后会出现如下问题:

 经过思考,发现了,应该把代码改成:

SetParent frmInquirebal.hWnd,picture1.hWnd

这样以为就可以显示,但是……

所以,我继续查!

才知道原来是问题出在sub Main 过程中。其中有一句是登陆成功后创建主窗体,这个frmmain 就是我的MDI窗体,那要是再创建一个的话,就多了,所以会报上面的错误。于是我就直接跳过sub Main过程,直接登陆之后显示frmMain,用一个更简单的方法解决问题……

 通过这个问题,我发现了遇到问题不能苦恼,凡事总会有解决办法的,所以只要我们想解决就一定可以解决……

抱歉!评论已关闭.