机房收费系统问题(一)MDI子窗体不显示

       这两天开始进行机房收费系统了。当然,万事开头不容易啊,比如,某人在MDI父窗体上放了个大大的Frame,某些人还放了Picture吧,不管放的是什么,小的们(子窗体)却怎么也Show不出来了……

       闲话少说,下面就为大家解决一下这个问题。

       大家其实都可以猜到,不是子窗体不出来,而是他们被Frame/Picture挡住了。我也上网查了很多资料,开始看了半天也没找到解决方法,后来看到了一个API函数---SetParent  hWndChild.hWnd,hWndNewParent.hWnd 终于解决了这个问题。

      下面是关于该函数的一些介绍:

声明方法:
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long   '模块中声明
函数功能:该函数改变某个子窗口的父窗口。
函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent);
参数:
hWndChild:子 窗口句柄
hWndChild,子窗体句柄,即要显示的子窗体
hWndNewParent,新的父窗体句柄,即遮挡物名称
        这个函数的意思就是为原来的子窗体更换一个父窗体,本例中就是把Frame/Picture作为新的父窗体。
可是,子窗体出现是出现了,小的们却像要出嫁的姑娘,犹抱琵琶半遮面,只露个头------ 只显示半个标题栏,真是郁闷啊。
       果断地,只需要在子窗体中设置下窗体初始大小就好啦!
       当然,暴风雨还会来的更猛烈些的。。。
       当你喜滋滋地打开了子窗体后,设置或更改完自己的数据,关闭了之后,在想重新打开却发现他们又不出来了,真是气煞我们也!
       不忍了!开始看某IT小牛说只需要把frm******.Show 换成SetParent  frm******.hWnd,Picture1.hWnd 就搞定了,可是现实赤裸裸地揭示了他们的弱小---这个真的不行!!!
       还是要frm******.Show一下才够稳妥!!!
       好了,问题终于解决啦,一身轻松啊,在此也希望大家Good Luck!
 

 

你可能感兴趣的:(sql,机房收费系统)