敲机房时先是登陆窗体,之后就是主窗体了,主窗体是一个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,用一个更简单的方法解决问题……
通过这个问题,我发现了遇到问题不能苦恼,凡事总会有解决办法的,所以只要我们想解决就一定可以解决……