Форум: "Прочее";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
ВнизСохранение позиции и размера формы Найти похожие ветки
← →
Kerk © (2015-11-19 15:30) [0]Сабж. Сделать вроде легко, но есть подводные камни. Например, многомониторность. Перетащил окно на другой монитор, позиция сохранилась, отключил монитор, открыл окно еще раз и ой, оно на невидимом мониторе.
Есть какие-нибудь может стандартные решения здесь?
← →
кгшзх © (2015-11-19 16:01) [1]стандартный иф стандартен
← →
картман © (2015-11-19 16:09) [2]
> отключил монитор
или, что то же самое, изменил разрешение...
← →
Kerk © (2015-11-19 16:11) [3]
> картман © (19.11.15 16:09) [2]
Именно
← →
кгшзх © (2015-11-19 16:15) [4]стандартное решение - помнить не пиксели а проценты
← →
Dimka Maslov © (2015-11-19 16:21) [5]Лично я определяю монитор относительно сохранённого центра формы:
M: TMonitor;
R: TRect;
M := Screen.MonitorFromPoint(R.CenterPoint);
потом сравниванию R и M.WorkareaRect.
Если R выпадает за пределы - устанавливаю положение и размеры формы по-умолчанию.
← →
Kerk © (2015-11-20 00:06) [6]Про проценты интересная идея. Но будет давать видимую глазом погрешность.
← →
Kerk © (2015-11-20 00:07) [7]Хотя в принципе можно свести к погрешности в один пиксель.
← →
Eraser © (2015-11-20 00:19) [8]зачем проценты?
просто сохранять позицию окна, затем восстанавливать ее, затем проверять, выходит ли за границы видимой области или нет и, нужным образом, корректировать.
← →
кгшзх © (2015-11-20 08:34) [9]для случая исчезания второго монитора или смены разрешения
← →
Eraser © (2015-11-21 18:00) [10]
> кгшзх © (20.11.15 08:34) [9]
выключил второй монитор - форма сама перескочила на первый.
← →
кгшзх © (2015-11-21 18:42) [11]форма сама перескочила на первый.
а кто тебе сказал,
что приложение обязательно должно быть запущено
в момент выключения монитора?
его зарыли когда форма была на правом и в настройках лежит лефт-координата которая больше ширины левого моника.
← →
megavoid © (2015-11-22 03:33) [12][Shift+]Win+влево|вправо
← →
Eraser © (2015-11-22 22:30) [13]
> кгшзх © (21.11.15 18:42) [11]
читаем внимательно [8].
← →
кгшзх © (2015-11-23 10:21) [14]втыкай внимательно с самого начала
← →
Rouse_ © (2015-11-23 18:59) [15]
> Kerk © (19.11.15 15:30)
я писал как ширина/высота + левый верхний угол относительно активного монитора + номер монитора в системе (ну если не учитывать максимально размернутое состояние - это просто флаг).
Если монитор отключен - выводим все в таком-же виде на главный.
Монитор может поменять разрешение, стать не слева, а справа, или сверху - работать будет.
← →
DVM © (2015-11-23 21:52) [16]Имхо, при любом изменении конфигурации мониторов, выводим окно туда, где панель задач - не ошибемся.
← →
Rouse_ © (2015-11-23 23:18) [17]Панельку можно на все растянуть ;)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.054 c