To:app2001 谢谢关注 我把我的代码贴出来<br>我有一个主窗体,上面有一个 Panel。还有若干的 子窗体 <br>子窗体的创建代码如下<br>procedure ShowFormAsChild(var AForm:TForm; AFormClass:TClass;<br> AParent:TWinControl; AlignClient:Boolean = False);<br>var<br> acW, acH:Integer;<br> i:Integer;<br>begin<br> if not Assigned(AForm) then<br> Application.CreateForm(TComponentClass(AFormClass), AForm);<br> AForm.Parent := AParent;<br> AForm.Left := 0;<br> AForm.Top := 0;<br> if AlignClient then<br> AForm.Align := alClient;<br> acW := AForm.ClientWidth;<br> acH := AForm.ClientHeight;<br><br> SetWindowLong(AForm.Handle,<br> GWL_STYLE,<br> GetWindowLong(AForm.Handle, GWL_STYLE)<br> and<br> (not WS_CAPTION));<br><br> AForm.Width := acW;<br> AForm.Height := acH;<br> AForm.BringToFront;<br> AForm.Show;<br>end;<br><br>-------<br>在 主窗体中的调用 :<br> //创建 Form2到主窗体的 PanelMain<br> ShowFormAsChild(TForm(Form2), TForm2, panelMain);<br> //创建 Form3到主窗体的 panelMain<br> ShowFormAsChild(TForm(Form3), TForm3, panelMain);<br>这个时候 就形成了一个好似 MDI样子的 窗体,<br>但是 点在 某个 子Form上的时候我需要把 该 Form调到最前面来 <br>因为 子Form上面含有许多的控件。 不可能一个个去覆盖 WndProc<br>所以想请教各位有什么办法能实现点击 任何子Form就把它调到前面来。