Delphi - 在另一个表单后面创建表单

时间:2010-04-21 04:01:12

标签: delphi forms z-order

我正在使用Delphi 4。 我有一个主窗体,带有一个动态创建新窗体的按钮。 我希望新形式可见,但要显示主要形式。

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

我尝试使表单不可见,然后SendToBack(),然后Visible := true。 但新形式仍处于前沿。

看起来SendToBack()仅适用于可见表单?如何使表单显示在主窗体后面?

2 个答案:

答案 0 :(得分: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;

感谢您的帮助!

答案 1 :(得分:0)

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

showWindow(form2.handle,SW_SHOWNOACTIVATE);

-don