Как показать модальную форму поверх формы-владельца (ее владелец установлен на fsStayOnTop или нет), как это делает TOpenDialog.

Резюме:

См. Полезные комментарии ниже от Крейга и Сертака.

================================================= =======

Как показано в следующем минимизированном коде, TForm10 устанавливается равным fsStayOnTop . TForm10.btnTryDlgClick вызывает dlgOpen1.Execute , и отображается диалоговое окно, как и ожидалось. Однако, когда я вызываю TForm11.Create (Self) .ShowModal внутри TForm10.btnTryFormClick , форма скрывается за TForm10. Мне интересно, как понять это поведение и почему стандартный TOpenDialog может отображаться так, как ожидалось? Приветствуются любые комментарии!

PS: Одним из способов решения проблемы является переопределение процедуры CreateParams TForm11 и установка Params.wndParent на 0. Но мне кажется, что с помощью этого обходного пути иерархия окон будет нарушена.

  procedure TForm11.CreateParams(var Params: TCreateParams); // override;
  begin
    inherited;
    params.wndParent := 0;
  end;

PS: Другой обходной путь упоминается Реми на соответствующих страницах SO ниже: установка свойства PopupParent модальной формы в значение StayOnTop Form . Но в последующих комментариях Сертак упомянул, что этот обходной путь также нарушит иерархию окон.

PS: Возможно релевантные страницы SO: } И я ...

У меня есть этот объект javascript

var options:
 {
        windowTitle         : '....',
        windowContentUrl    : '....',
        windowHeight        : 380,
        windowWidth         : 480
}

И у меня есть этот класс C #

public class JsonDialogViewModel
    {
        public string WindowTitle               {   get;    set;    }
        public string WindowContentUrl          {   get;    set;    }
        public double WindowHeight              {   get;    set;    }
        public double WindowWidth               {   get;    set;    }

    }

И вы видите, моя нотация - PascalCase в C #, а мой Javascript - CamelCase. Как разработчики iOS называют визуальные точки внизу страницы, которые указывают количество открытых окон в приложении?

Screen capture of iPhone Safari app

11
задан jaco0646 6 December 2018 в 14:59
поделиться