vb mdi子窗口总在其他子窗口前面?

2024-11-06 16:36:01
推荐回答(3个)
回答1:

不是在前面,而是包含子窗口,就像WORD里面的文档窗口是跑不出外面的大框的,
MDI就是这样的特性,

用置顶呗,API叫 TopMOST
或者你拆答陪旅蠢在mdi上面放一个 timer ,隔时,设置举脊某个子窗体的 ZOrder

你要问就用追问,补充的话,我回答也得补充,很麻烦,另外这个位置有局限,你希望我贴一大片代码吗?

回答2:

会挡住外部程序

例如:Form1,Form2(或是MDIForm1),Form3
总让Form2(或是MDIForm1)在其它窗口上弯圆
Form1主窗体代码:

Dim myval
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)

Private Sub Command1_Click()
Load Form2
Form2.Show
End Sub

Private Sub Command2_Click()
Load Form3
Form3.Show
End Sub

Private Sub Form_Load()
myval = SetWindowPos(Form2.hwnd, -1, 0, 0, 0, 0, 3)
End Sub

回答3:

你确定你要做的是某个子窗口总在前面?不是TOOLBAR之类的功能?