Страница 3 из 10

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 20:38
finsoftrz
Правую и нижнюю я бы не стал трогать. Бывает, юзеры специально сдвигают окна таким образом. Например, чтобы удобнее было сопоставлять какую-то информацию в разных окнах, расположив их рядом.
Когда юзер видит слегка сдвинутое за край фрейма окно, это не проблема. В ступор вводит, если окно совсем за границей фрейма и его не видно. Как будто программа "зависла". В принципе, для подобных ситуаций все делают опцию "восстановить стандартное положение и размер окон". Хотя предпочтительнее все же отслеживать такие ситуации автоматически.

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 20:51
Игорь Столяров
finsoftrz писал(а): 29 Октябрь 2020, 20:38 Как будто программа "зависла".
Вон оно ! Именно. :( Поэтому и стараемся разруливать такие ситуации.
finsoftrz писал(а): 29 Октябрь 2020, 20:38 Бывает, юзеры специально сдвигают окна таким образом.
Здесь вопрос идеологии интерфейса, правда у каждого своя.
Мы считаем, что в процессе работы пользователь может задвигать окна куда ему надо,
но при повторном открытии окна программа постарается максимально комфортно
скорректировать координаты (и возможно размер) окна так, что бы оно полностью
поместилось в AppFrame (рабочий стол Windows) в том месте где его разместил юзер. :)

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:02
finsoftrz
Тут у нас расхождение во взглядах. Я предпочитаю вмешиваться только тогда, когда пользователь не может "дотянуться" до окна. Иначе будет разновидность навязчивого сервиса. У меня в интерфейсе пользователь может дважды кликнуть по заголовку окна, и оно изменит свой размер по размеру рабочей области фрейма. То есть "вытащить" окно просто двойным щелчком.

Улет окна за пределы фрейма происходит либо из-за смены разрешения монитора, либо из-за переключения между приложениями в определенные моменты времени.

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:23
Игорь Столяров
finsoftrz писал(а): 29 Октябрь 2020, 21:02 либо из-за смены разрешения монитора, либо из-за переключения между приложениями
Либо, собственно, из-за изменения размера самого AppFrame.
Работал в полноэкранном режиме, ему удобно было карточки открывать справа.
Потом переключил AppFrame в оконный режим, щелкнул по списку ... и завис. :)
finsoftrz писал(а): 29 Октябрь 2020, 21:02 У меня в интерфейсе пользователь может дважды кликнуть по заголовку окна
Интересная фишка ! Но просто в C11 неактуально, а на C63 у нас есть пара навороченных
сервисов ... но так они почти без интерфейса. :)

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:41
finsoftrz
У меня фрейм в основном приложении всегда в максимизированном состоянии. Программа "главная" на компьютере, пользователи большую часть времени проводят в ней. Поэтому смысла менять размер фрейма я не вижу. Это, конечно, вопрос совсем не однозначный. Во всяком случае, так все работает хорошо и без сюрпризов, связанных с ресайзом фрейма.

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:45
gopstop2007
спор перешел в область - как правильно разбивать сваренное яйцо в крутую сверху или снизу :D

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:47
finsoftrz
Насчет актуальности в С11. Сорри, Игорь, но у Вас в приложении максимизация работает некорректно. Воспроизводится легко. Откройте какой-нибудь журнал документов, отключите максимизацию, откройте форму на редактирование (которая без максимизации). Откройте в другом потоке другой журнал документов, включите максимизацию. Закройте его, закройте форму. Увидите "тыкву".

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 21:49
finsoftrz
gopstop2007 писал(а): 29 Октябрь 2020, 21:45 спор перешел в область - как правильно разбивать сваренное яйцо в крутую сверху или снизу :D
Не, мы не спорим, просто обмениваемся опытом. Это важно, позволяет что-то лучше осознать, так как глаз в любом случае "замыливается" и некоторые вещи попадают в слепую зону.

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 22:36
Игорь Столяров
gopstop2007 писал(а): 29 Октябрь 2020, 21:45 как правильно разбивать сваренное яйцо в крутую сверху или снизу
Скорее обмен опытом о том, когда солить яйцо при варке: до того как оно станет мягким или после. :)
finsoftrz писал(а): 29 Октябрь 2020, 21:47 Закройте его, закройте форму. Увидите "тыкву".
Это да. Знаю, причём можно открывать в другом потоке любое окно. В C63 такого нет. :)
Тоже вопрос, который ждёт своего решения. То ли SV, то ли опять самим ...
Насколько я понимаю надо вставить для окна обработку события:

Код: Выделить всё

  Of Event:DoResize
      Resizer.Resize

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 22:58
finsoftrz
Это тоже не исправит ситуацию, так как криво отображается неактивное окно. Если в приведенном примере форму не закрывать, а сдвинуть и посмотреть, что творится под ней. Аналогично и в с6. Поэтому умные люди предложили совсем отказаться от максимизации в пользу изменения размеров окна по размеру рабочей области фрейма.

Загадка про размер окна

Добавлено: 29 Октябрь 2020, 23:47
finsoftrz
Насколько я помню историю вопроса, проблема с максимизацией окон исправлена не будет. SV ссылается, что это баг MS, а у MS позиция отказа от mdi интерфейса.
На мое восприятие, удобнее mdi для пользователей ничего не придумали. Поэтому большинство пытаются его моделировать различными способами. Хотя некоторые считают, что можно обойтись и sdi. Помнится, Вадим Синявский высказывался в этом духе. Или можно посмотреть на Стиль Энигмы, где интерфейс весьма специфичный. Меню аля фрейм, как я понял, закрывает один диалог и запускает другой, сами окна sdi.

Загадка про размер окна

Добавлено: 30 Октябрь 2020, 6:41
Игорь Столяров
finsoftrz писал(а): 29 Октябрь 2020, 22:58 Это тоже не исправит ситуацию, так как криво отображается неактивное окно.
Но можно попробовать привести его в чувство при получении фокуса. ;)
Или заблокировать ресайз в неактивном состоянии, какое-то же событие должно приходить в Window.

Загадка про размер окна

Добавлено: 30 Октябрь 2020, 9:56
finsoftrz
Я способов не знаю. Когда пользователи видят подобные корявости в приложении, это влияет и на их общее восприятие приложения. Например, в той же 1С ничего такого не увидишь.
Опять таки, а кто сказал, что переключать максимизацию надо для всех окон сразу? Например, в диалогах просмотра операций с товарами или контрагентами некоторым пользователям удобнее работать в максимизированном режиме, чтобы видеть больше информации на экране. А некоторым нужно сопоставлять операции за разные периоды или по разным объектам учета, расположив окна рядом.
Может, просто я уже привык. Мне стандартный режим максимизации окон представляется и глючным, и не очень функциональным, и не очень логичным в поведении.

Загадка про размер окна

Добавлено: 30 Октябрь 2020, 10:18
Игорь Столяров
finsoftrz писал(а): 30 Октябрь 2020, 9:56 видят подобные корявости в приложении, это влияет и на их общее восприятие
Это да. Времена когда юзеры писали кипятком от программы печати платёжек прошли безвозвратно. :(
Сейчас хотят и интерфейс и функционал сразу. Надо что-то придумать с этим глюком ... ;)

Загадка про размер окна

Добавлено: 30 Октябрь 2020, 10:22
RaFaeL
Игорь Столяров писал(а): 29 Октябрь 2020, 18:22 Как известно, в C63 RTL есть клюк с разворачиванием MDI окон в полноэкранный режим.
А что за баг и почему я об этом не знаю?