小弟我想让子窗口FORM1始终在FORM2之上,为什么这样没有用啊(注意是子窗口,不是普通窗口)
我想让子窗口FORM1始终在FORM2之上,为什么这样没有用啊(注意是子窗口,不是普通窗口)?
Private Declare Function SetWindowPos Lib "user32 " (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Sub MDIForm_Load()
Load Form1
Form1.Show
Load Form2
Form2.Show
SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, (SWP_NOSIZE Or SWP_NOMOVE)
End Sub
------解决方案--------------------
以下为借鉴:
MDIFORM1为MDI窗体;FORM1、FORM2为MDI子窗体;
FORM3不是MDI子窗体(我们要使之总在顶端)
那么只要在你希望弹出FORM3的地方用
Form3.show 0,MDIFORM1
就完了。
这样FORM3不仅始终在MDIFORM1的上面,而且也在
所有的MDI子窗体上面。
如果你的工程中不只这一个非MDI子窗体,那就回到了
与SDI相同的问题上来了。
------解决方案--------------------
Form1.show , Form2
这样调用
程序源码、学习资料网站:
http://www.egooglet.com
交流论坛:
http://bbs.j2soft.cn
Private Declare Function SetWindowPos Lib "user32 " (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Sub MDIForm_Load()
Load Form1
Form1.Show
Load Form2
Form2.Show
SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, (SWP_NOSIZE Or SWP_NOMOVE)
End Sub
------解决方案--------------------
以下为借鉴:
MDIFORM1为MDI窗体;FORM1、FORM2为MDI子窗体;
FORM3不是MDI子窗体(我们要使之总在顶端)
那么只要在你希望弹出FORM3的地方用
Form3.show 0,MDIFORM1
就完了。
这样FORM3不仅始终在MDIFORM1的上面,而且也在
所有的MDI子窗体上面。
如果你的工程中不只这一个非MDI子窗体,那就回到了
与SDI相同的问题上来了。
------解决方案--------------------
Form1.show , Form2
这样调用
程序源码、学习资料网站:
http://www.egooglet.com
交流论坛:
http://bbs.j2soft.cn