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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Правую и нижнюю я бы не стал трогать. Бывает, юзеры специально сдвигают окна таким образом. Например, чтобы удобнее было сопоставлять какую-то информацию в разных окнах, расположив их рядом.
Когда юзер видит слегка сдвинутое за край фрейма окно, это не проблема. В ступор вводит, если окно совсем за границей фрейма и его не видно. Как будто программа "зависла". В принципе, для подобных ситуаций все делают опцию "восстановить стандартное положение и размер окон". Хотя предпочтительнее все же отслеживать такие ситуации автоматически.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Октябрь 2020, 20:38 Как будто программа "зависла".
Вон оно ! Именно. :( Поэтому и стараемся разруливать такие ситуации.
finsoftrz писал(а): 29 Октябрь 2020, 20:38 Бывает, юзеры специально сдвигают окна таким образом.
Здесь вопрос идеологии интерфейса, правда у каждого своя.
Мы считаем, что в процессе работы пользователь может задвигать окна куда ему надо,
но при повторном открытии окна программа постарается максимально комфортно
скорректировать координаты (и возможно размер) окна так, что бы оно полностью
поместилось в AppFrame (рабочий стол Windows) в том месте где его разместил юзер. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

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

Улет окна за пределы фрейма происходит либо из-за смены разрешения монитора, либо из-за переключения между приложениями в определенные моменты времени.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Октябрь 2020, 21:02 либо из-за смены разрешения монитора, либо из-за переключения между приложениями
Либо, собственно, из-за изменения размера самого AppFrame.
Работал в полноэкранном режиме, ему удобно было карточки открывать справа.
Потом переключил AppFrame в оконный режим, щелкнул по списку ... и завис. :)
finsoftrz писал(а): 29 Октябрь 2020, 21:02 У меня в интерфейсе пользователь может дважды кликнуть по заголовку окна
Интересная фишка ! Но просто в C11 неактуально, а на C63 у нас есть пара навороченных
сервисов ... но так они почти без интерфейса. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

У меня фрейм в основном приложении всегда в максимизированном состоянии. Программа "главная" на компьютере, пользователи большую часть времени проводят в ней. Поэтому смысла менять размер фрейма я не вижу. Это, конечно, вопрос совсем не однозначный. Во всяком случае, так все работает хорошо и без сюрпризов, связанных с ресайзом фрейма.
C6/C11, ШВС, tps/btrieve.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

спор перешел в область - как правильно разбивать сваренное яйцо в крутую сверху или снизу :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Насчет актуальности в С11. Сорри, Игорь, но у Вас в приложении максимизация работает некорректно. Воспроизводится легко. Откройте какой-нибудь журнал документов, отключите максимизацию, откройте форму на редактирование (которая без максимизации). Откройте в другом потоке другой журнал документов, включите максимизацию. Закройте его, закройте форму. Увидите "тыкву".
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

gopstop2007 писал(а): 29 Октябрь 2020, 21:45 спор перешел в область - как правильно разбивать сваренное яйцо в крутую сверху или снизу :D
Не, мы не спорим, просто обмениваемся опытом. Это важно, позволяет что-то лучше осознать, так как глаз в любом случае "замыливается" и некоторые вещи попадают в слепую зону.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

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

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

  Of Event:DoResize
      Resizer.Resize
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Это тоже не исправит ситуацию, так как криво отображается неактивное окно. Если в приведенном примере форму не закрывать, а сдвинуть и посмотреть, что творится под ней. Аналогично и в с6. Поэтому умные люди предложили совсем отказаться от максимизации в пользу изменения размеров окна по размеру рабочей области фрейма.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Насколько я помню историю вопроса, проблема с максимизацией окон исправлена не будет. SV ссылается, что это баг MS, а у MS позиция отказа от mdi интерфейса.
На мое восприятие, удобнее mdi для пользователей ничего не придумали. Поэтому большинство пытаются его моделировать различными способами. Хотя некоторые считают, что можно обойтись и sdi. Помнится, Вадим Синявский высказывался в этом духе. Или можно посмотреть на Стиль Энигмы, где интерфейс весьма специфичный. Меню аля фрейм, как я понял, закрывает один диалог и запускает другой, сами окна sdi.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 29 Октябрь 2020, 22:58 Это тоже не исправит ситуацию, так как криво отображается неактивное окно.
Но можно попробовать привести его в чувство при получении фокуса. ;)
Или заблокировать ресайз в неактивном состоянии, какое-то же событие должно приходить в Window.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Я способов не знаю. Когда пользователи видят подобные корявости в приложении, это влияет и на их общее восприятие приложения. Например, в той же 1С ничего такого не увидишь.
Опять таки, а кто сказал, что переключать максимизацию надо для всех окон сразу? Например, в диалогах просмотра операций с товарами или контрагентами некоторым пользователям удобнее работать в максимизированном режиме, чтобы видеть больше информации на экране. А некоторым нужно сопоставлять операции за разные периоды или по разным объектам учета, расположив окна рядом.
Может, просто я уже привык. Мне стандартный режим максимизации окон представляется и глючным, и не очень функциональным, и не очень логичным в поведении.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 30 Октябрь 2020, 9:56 видят подобные корявости в приложении, это влияет и на их общее восприятие
Это да. Времена когда юзеры писали кипятком от программы печати платёжек прошли безвозвратно. :(
Сейчас хотят и интерфейс и функционал сразу. Надо что-то придумать с этим глюком ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

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