Delphi TColorDialog Открывается за формой stayOnTop

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

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

Я использую D2009

Спасибо

1 ответ

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

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

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

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

Другие вопросы по тегам