Delphi - Создать форму за другой формой - PullRequest
3 голосов
/ 21 апреля 2010

Я использую Delphi 4. У меня есть основная форма с кнопкой, которая динамически создает новую форму.Мне бы хотелось, чтобы новая форма была видимой, но чтобы она отображалась ЗА основной формой.

Я пытался вызвать SendToBack() сразу после FormCreate().Но это заставляет окно быстро мигать, прежде чем оно действительно отправляется обратно.

Я пытался сделать форму невидимой, затем SendToBack(), затем Visible := true.Но новая форма все еще впереди.

Похоже, SendToBack() работает только с видимыми формами?Как сделать так, чтобы форма отображалась за основной формой?

Ответы [ 2 ]

1 голос
/ 21 апреля 2010

Это сработало для меня:

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;

Спасибо за помощь!

0 голосов
/ 21 апреля 2010

делает второе окно (например, form2) невидимым, затем вызывает:

showWindow(form2.handle,SW_SHOWNOACTIVATE);

-don

...