Страница 2 из 2
Как узнать?
Добавлено: 05 Январь 2016, 15:23
Дед Пахом
Любопытное решение, вот вопрос есть - как ты отслеживаешь, над каким из листов мышь?
Как узнать?
Добавлено: 05 Январь 2016, 21:07
dsabitov
Паспорт.. да.. оплошка. Но ведь тут все единомышленники?...

Над каким из листов мышь? В каждый момент времени только 1 окно активно (хотя управлять поведением других можно - но не в этом примере). Как только появилось окно с подсказкой с листом выбора - оно активно и у него свои события, актуальные на момент появления. То есть, мне нужно, чтобы пользователь нажал escape (или Ctrl-F4 - что угодно, чтобы закрыть возникшую подсказку) или выбрал нажатием мышки появившуюся ссылку и провалился в нее... Если же быть ближе к простому ToolTip - можно в Accept... End написать закрытие нового окошка по любому событию - и при любом действии пользователя окошко исчезнет.
Как узнать?
Добавлено: 05 Январь 2016, 21:10
dsabitov
kreator писал(а): Навожу указатель мыши - это означает нажимаю?
Нет - не нажимаю.
Как узнать?
Добавлено: 05 Январь 2016, 22:47
kreator
dsabitov писал(а):Нет - не нажимаю.
Вопрос-то в том, как отследить мышь над листом. Как у Вас реализовано это? Какое событие при "навожу указатель мыши"?
Как узнать?
Добавлено: 05 Январь 2016, 23:09
dsabitov
Я не зря написал "Свойства PROPLIST:MouseMoveRow и PROPLIST:MouseMoveField "живые"!" - эти свойства в реальном времени содержат значение CHOICE для листа и значение номера колонки над которой находится мышь. Вы можете проверять значения этих свойств при наступлении любого события (не обязательно жать мышкой на лист!) - они всегда правильные! Я их проверяю в событии EVENT:Tmer.
Как узнать?
Добавлено: 06 Январь 2016, 9:55
Shur
kreator писал(а): Кларионовский лист беден и убог
Эх, креатор, креатор!

А если серьёзно, то в этом что-то есть. Надо подумать, где применить.
Как узнать?
Добавлено: 06 Январь 2016, 10:48
morkovin
Шаблончик бы...
Как узнать?
Добавлено: 06 Январь 2016, 15:27
Игорь Столяров
Я так понял, что вопрос темы исчерпан (найдено решение). Есть еще один "старый проблем" с LIST.
Можно ли как-то вырубить resize (изменение ширины колонок) в списке, оставив его только в строке шапки списка ?
(как это в общем-то и делается во всех других системах, кроме Clarion)
Как узнать?
Добавлено: 08 Январь 2016, 14:15
kreator
Shur писал(а):Эх, креатор, креатор!
А если серьёзно, то в этом что-то есть. Надо подумать, где применить.
Согласен! Век живи - век учись! Действительно данные свойства отрабатывают. Будем знать. Но я бы не стал заморачиваться, сделал бы обычным ToolTip. Кстати закрывать "всплывающее" окно можно опять же по таймеру или по потере фокуса (как popup menu).
Игорь Столяров писал(а):Можно ли как-то вырубить resize (изменение ширины колонок) в списке, оставив его только в строке шапки списка ?
(как это в общем-то и делается во всех других системах, кроме Clarion)
Присоединяюсь к пожеланию. Когда right border есть, то ещё куда ни шло, а когда нет, то, действительно, выглядит диковато.
А я вот столкнулся ещё с одним нюансом (может, мелким). Если я случайно попадаю в этот самый "right border" (не важно - присутствует он или нет), курсор перескакивает на нужный ряд, а событие NewSelection не происходит. Туплю?
Как узнать?
Добавлено: 25 Февраль 2016, 14:22
kreator
Народ, а кто может заслать в треккер (или как там его) SV озвученные мной и Игорем Столяровым проблемы (оставить ресайз только на заголовке списка и, заодно, исправить несрабатывание EVENT:NewSelection при попадании на границу столбцов)? У меня пользователи на планшете часто попадают пальцем в эту самую границу (причём невидимую). Жалуются.
Как узнать?
Добавлено: 25 Февраль 2016, 17:16
Shur
kreator писал(а): У меня пользователи на планшете часто попадают пальцем в эту самую границу (причём невидимую). Жалуются.
Только что пришло в голову. А что если пока суть да дело прикрыть границы столбцов тонкими во всю длину region'ами? Тоже невидимыми.
Как узнать?
Добавлено: 25 Февраль 2016, 17:27
kreator
Shur писал(а):Только что пришло в голову. А что если пока суть да дело прикрыть границы столбцов тонкими во всю длину region'ами? Тоже невидимыми.
И что? Не будет позиционирования при попадании в регион? А горизонтальное скроллирование списка? Тяжко. Может попробовать отследить попадание в границу через LISTZONE:Right? Кто-нибудь делал? Или это актуально для Header'ов?
Как узнать?
Добавлено: 26 Февраль 2016, 10:44
Shur
Kreator, придумал оригинальное решение, может подойдёт.
Делаем так. У листа надо сделать popup. В нём сделать единственный пункт с галочкой
Enable column resize.
При нажатии проходшь циклом по колонкам и ставишь
Код: Выделить всё
?List{PROPLIST:Resize,x} = {1|0} -- в зависимости поставил или снял галку
после чего можно отресайзить колонки как нравится и снять галку -- как бы зафиксировать их.
Пользователи с планшетами будут рады.
Как узнать?
Добавлено: 26 Февраль 2016, 10:49
Игорь Столяров
Shur писал(а): после чего можно отресайзить колонки как нравится и снять галку -- как бы зафиксировать их.
Кстати, идея крутая ! Неожиданное решение. Надо попробовать, если действительно будет работать - супер !
Как узнать?
Добавлено: 26 Февраль 2016, 12:31
kreator
Если столбцы не Resizable, то проблемы нет. Поэтому пока убрал возможность ресайза. Вообще не уверен, что нужно это при работе пальцами. И, всё-таки, нужно толкнуть SV, чтобы оставили возможность ресайза только на хэдере. Если так будет, то и "моя" проблема исчезнет.