В Delphi (2009 Pro) - У меня есть основная форма, которая может создавать немодальные дочерние окна. Я хочу, чтобы какая-либо форма фокусировалась на вершине - даже если это основное окно, в котором есть фокус.Немодальное дочернее окно, которое позволяет Mainform быть нарисовано сверху - Delphi
ответ
Несколько окон не могут иметь фокус одновременно. Я предполагаю, что вы хотели сказать, что хотите, чтобы ваша немодальная дочерняя форма была сверху, только основной фокус. Пробовали ли вы установить свойство FormStyle дочерней формы в fsStayOnTop?
С Delphi 2007/2009 VCL изменил свое поведение относительно родителя формы. В Delphi 1-2006 родителем формы было скрытое окно приложения (Application.Handle). В Delphi 2007/2009 родителем формы является основная форма, а родителем основной формы является рабочий стол.
Если вы хотите изменить это, вы можете либо изменить строку * .dpr Application.MainFormOnTaskbar
на False
, что дает вам прежнее поведение, но и делает ваше приложение необычным в Vista и Windows 7. Или вы можете переопределить виртуальные CreateParams метод во всех ваших немодальных дочерних формах и установите поле Params.WndParent
на рабочий стол (HWND_DESKTOP
) или все еще существующий Application.Handle
.
type
TMyChildForm = class(TForm)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := Application.Handle;
end;
- 1. Как закрыть немодальное дочернее окно модального окна?
- 2. Немодальное или всплывающее окно
- 3. Delphi xe3 Mainform hide
- 4. Python: немодальное окно с подпроцессами
- 5. Окно состояния, которое всегда сверху с AppleScript
- 6. Создание изображения, которое было нарисовано
- 7. Перемещение эллипса, которое было нарисовано
- 8. Невозможно создать дочернее окно
- 9. дочернее окно мигает
- 10. Android Mapview MyLocationOverlay Всегда нарисовано сверху
- 11. MFC создать немодальное всплывающее окно в модальном
- 12. Как сделать дочернее окно с GTK +?
- 13. ExitProcess из события OnShow MainForm в Delphi
- 14. Нефокусное дочернее окно
- 15. Как создать дочернее окно Delphi, в котором есть главное меню?
- 16. закрыть дочернее окно, которое не открывается с помощью window.open
- 17. Добавление iFrame в дочернее окно, которое загружает локальный html
- 18. Окрасить дочернее окно, которое переполняется за пределами окна верхнего уровня.
- 19. Silverlight дочернее окно
- 20. Доступ Дочернее окно
- 21. Блокировать дочернее окно процессов?
- 22. Как открыть дочернее окно?
- 23. Как закрыть немодальное окно на Mac?
- 24. Немодальное плавающее диалоговое окно в WPF
- 25. Окно Qt, которое находится сверху приложения, но не в других окнах
- 26. Потеря ссылки на дочернее окно
- 27. Неправильное изменение MainForm
- 28. Открыть дочернее окно и перенаправить родительское окно
- 29. Удалить дочернее окно дочернего элемента
- 30. Win32 WM_PAINT и дочернее окно
Разве он не хочет иметь прямо противоположное? Основная форма должна быть в состоянии стать поверх других окон, что изменили Delphi 2007 и 2009. –