В приложении Delphi MDI я могу использовать процедуры Tile
, Cascade
и ArrangeIcons
для организации своих дочерних окон, эти методы работают только тогда, когда для свойства FormStyle установлено значение fsMDIForm
. Как я могу добиться того же эффекта в SDI application
, я имею в виду, как я могу организовать мои открытые окна в приложении, отличном от MDI?
Организация окон в приложении SDI Delphi
Ответы (2)
Вам придется упорядочивать их вручную, просматривая список TScreen::Forms[]
, корректируя свойства Left/Top
по мере необходимости.
person
Remy Lebeau
schedule
15.07.2010
Я поддерживаю ответ Реми и хочу отметить, что если вы поддерживаете несколько мониторов, вам также следует взглянуть на TScreen.Monitors[]. Не очень сложно, но вы должны знать о последствиях. Особенно, если вы хотите, чтобы позиции окон сохранялись между сеансами программы. Например. что, если пользователь перезапустит программу с другой конфигурацией монитора (один вместо двух мониторов, ноутбук, пристыкованный дома, имеет два экрана... в дороге только один...)
- person Christian; 16.07.2010
Обычно вам не нужно. Пользователи, которые хотят переупорядочить окна, могут щелкнуть правой кнопкой мыши панель задач и выбрать команды плитки и каскада в контекстном меню. И я видел телевизионную рекламу Windows 7, показывающую, что вы даже можете просто перетаскивать окна определенным образом, чтобы они располагались сами по себе.
Если вы все же хотите ввести команду самостоятельно, используйте TileWindows
и CascadeWindows
функции API.
person
Rob Kennedy
schedule
15.07.2010