Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
В crm поведение при максимизации нестандартное.
Вот пример, сейчас проверил. В одном потоке открыто окно в максимизированном режиме, в втором тоже. Затем в первом потоке из первого окна вызываем второе окно, которое тоже имеет кнопку максимизации. Если перед этим в этом окне максимизация не была включена (видимо, сохраняется в настройке), в обоих потоках режим максимизации автоматически сбрасывается. При этом вроде как контролы в окнах ресайзятся, но не до конца корректно. В частности, строки в списках выглядят смещенными. При получении фокуса нормализуется.
Был баг - при максимизации пропадали кнопки восстановления (системные), которые переходят на фрейм. В новых версиях Клариона я замечал, что не все окна попадают в меню "Окно" фрейма. Не помню обсуждалось ли это.
Ну да, есть не особо приятный эффект если окно, имеющее кнопку максимизации запускать не как развернутое на весь экран. Видимо, наши пользователи не балуются свертыванием окон, потому как жалоб не было. Не вижу причин из-за этой мелочи что-то особое придумывать
RaFaeL писал(а): 30 Октябрь 2020, 11:38
Ну да, есть не особо приятный эффект если окно, имеющее кнопку максимизации запускать не как развернутое на весь экран. Видимо, наши пользователи не балуются свертыванием окон, потому как жалоб не было. Не вижу причин из-за этой мелочи что-то особое придумывать
Я не понял - почему окно формы само не открылось на полный экран?
Значит, "фича".
Обратите еще внимание на этих скриншотах. На первом информация о том, какое окно открыто, висит в заголовке фрейма. Во втором оно в заголовке самого окна. Аналогично будет и для окон без максимизации. Это не очень хорошо с точки зрения юзабилити. Однородная информация выводится в разных местах и надо шарить глазами по экрану. Плюс когда из большого развернутого окна вызывается маленькое без функции максимизации, теряется информация о назначении первого окна. Я понимаю, что все привыкли, это мелочь и т.п. Просто поясняю, почему в свое время отказался от использования данного режима.
finsoftrz писал(а): 30 Октябрь 2020, 12:01
Просто поясняю, почему в свое время отказался от использования данного режима.
А таки как тогда Вы рассчитываете размер MDI окна для размера по рабочей зоне AppFrame ?
Тупо выставить размеры по AppFrame{Prop:ClientWidth} / AppFrame{Prop:ClientHeight} - не прокатит.
И что будет с этими окнами если перевести сам AppFrame в оконный режим или наоборот ?
Запоминаю размеры рабочей области фрейма при запуске программы. Фрейм всегда в максимизированном состоянии.
На самом деле, там несколько сложнее. Надо еще учитывать запущенные тулбоксы слева и справа. Если они запущены, и в каком режиме.
Да нет, только фрейм в максимизированном состоянии всегда. Режим включение левой панели и режим фиксации правой панели сохраняются в глобальных переменных. Ну и размеры тоже.
У меня сейчас из всей этой кухни есть только один незакрытый до конца вопрос с автоматическим размещением правых тулбоксов по высоте. Дело в том, что их 3 и они запускаются при старте программы. И могут инициализироваться в разном порядке. Верхний прикрепляется к нижней границе тулбара, нижний к нижней границе фрейма с учетом включения статусбара. А средний должен автоматически подстроить свою высоту между ними. И вот это на разных разрешениях пока не всегда корректно отображается. Размеры считаются в пикселях. Думаю, через какое-то время решу.
kreator писал(а): 30 Октябрь 2020, 11:58
Я не понял - почему окно формы само не открылось на полный экран?
Значит, пользователь его ранее свернул в окно и в таком режиме закрыл. В следующий раз с таким размером и откроется, это сохраняется в ini файлы для каждого окна. Насколько помню, это вообще какая-то штатная опция, не нами придуманная
Последний раз редактировалось RaFaeL 30 Октябрь 2020, 13:02, всего редактировалось 1 раз.