3

我正在使用 Delphi 4。我有一个带有按钮的主表单,可以动态创建一个新表单。我希望新表单可见,但要显示在主表单后面。

我试过SendToBack()之后立即打电话FormCreate()。但这会使窗口在实际发送回之前快速闪烁。

我试过让表单不可见,然后SendToBack(),然后Visible := true。但新的形式仍然在前面。

看起来SendToBack()只适用于可见形式?如何使表单显示在主表单后面?

4

2 回答 2

1

这对我有用:

SetWindowPos(newform.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_SHOWWINDOW
  or SWP_NOMOVE or SWP_NOOWNERZORDER or SWP_NOSIZE or SWP_NOACTIVATE);

newform.Visible := true;

感谢帮助!

于 2010-04-21T05:37:51.603 回答
0

使第二个窗口(例如 form2)不可见,然后调用:

showWindow(form2.handle,SW_SHOWNOACTIVATE);

-大学教师

于 2010-04-21T04:11:35.460 回答