Delphi TColorDialog Открывается за формой stayOnTop - PullRequest
1 голос
/ 14 апреля 2011

У меня есть основная форма (форма1), которая вызывает форму2, которая является формой пребывания. form2 вызывает модальную форму (form3), которая также является формой пребывания. когда модальная форма form3 вызывает colordialog, диалоговое окно цвета открывается за form3.

Что установить, чтобы открыть диалоговое окно цвета перед form3?

Я использую D2009

спасибо

1 Ответ

1 голос
/ 15 апреля 2011

Delphi (около D2007) представил перегруженные методы Execute для всех стандартных диалогов, которые принимают дескриптор родительского окна в качестве параметра.Измените ваш вызов, чтобы отобразить диалоговое окно:

if ColorDialog1.Execute(Handle) then
begin
  // Do whatever
end;

Handle в этом случае будет дескриптор окна пребывания в верхней форме, которая отображает TColorDialog.Если вы запускаете диалоговое окно из другого окна, вам нужно вместо этого передать дескриптор верхней формы.

Документация здесь (версия XE, но она все еще применяется кD2009).

...