Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Дочернее окно. / 2 сообщений из 2, страница 1 из 1
04.06.2017, 11:54:55
    #39465431
Dagmanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дочернее окно.
Всем зравствуйте.
Есть такой вопрос. В приложении есть дочерняя форма. И для того чтоб она была видна на панели задач в код формы добавил такое:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent := 0;

end;


Проблема в том что если с дочерней формы вызывать какое-то модальное окно то на передний план вылазит главная форма приложения... Накидал небольшой пример в гиф.
Дочерняя форма создается и вызывается так:
Код: pascal
1.
2.
3.
4.
5.
6.
var
  f:TForm2;
begin
  f:=TForm2.Create(nil);
  f.Show;
end;



Как можно побороть этот баг?
...
Рейтинг: 0 / 0
04.06.2017, 16:57:48
    #39465501
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Дочернее окно.
вот только что проверил
Форма создается в процессе работы, параметры

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TSin_Form.CreateParams(var Params : TCreateParams);
begin
  inherited;
  // Add WS_EX_AppWindow to ExStyle, so window will have
  // independent button on taskbar.
  // WndParent for window independent from Main window
  Params.ExStyle := Params.ExStyle or WS_EX_AppWindow;
  Params.WndParent := 0;
end;



все нормально, при вызове шоумодал другого окна - главное окно не показывается

P.S. Комменты не мои, я просто разместил объяву (с)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Дочернее окно. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]