-
Постов
14 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Bohdan
-
-
Добрый день, Коллеги!
Подскажите где почитать про стили для ListBoxItem, что за отвечает в стандартном стиле, уже устал тыкаться :(
Курсы от Ярослава не доступны, со слов автора.
-
18 минут назад, Tumaso сказал:
Уважаемый, вы видимо забыли свой изначальный вопрос? Ответ вам дан. Дальше все в ваших руках))
Согласен, вопрос был как отследить Тар за пределами Edit, я сделал через Layout все работает ожидаемо и как надо.
После этого пришли коллеги и предложили вариант со стилями которое вылилось в обработать все клики/тапы на контролах которые не принимают фокус для отслеживания потери фокуса Edit. Мне кажется это решение не оптимальным, я начал обсуждения этого варианта, вдруг будет решение проще чем Layout с Edit и одним обработчиком OnClick/OтTap на Layout.
Не понимаю где я вышел за рамки своего вопроса,
-
1 час назад, krapotkin сказал:
если фокус придет в любой другой компонент, то у этого и так сработает событие
так что остается только обработать тапы в Layout или во что там у вас вставлено всеучитывая небольшое кол-во элементов на экранчиках, это не так страшно
Посмотри логику работы на IOS если элемент в режиме редактирования. то тап за редактируемым элементом выводит его из режима редактирования, и не активирует другой элемент.
1 час назад, Tumaso сказал:А что мешает использовать единый обработчик OnTap / OnClick для всех компонентов, которые не принимают фокус на форме?
Коллеги как вы потом буде сопровождать ваше решение (добавить интерфейсные элементы, поменять на другие), нужно будет всегда помнить о добавлении обработчика клик/тап. По поводу количества компонентов подумайте о сложном приложении которое рассчитано на iPad 9 / Pad pro 12", возможно для телефонов ваше предложение годится.
-
2 минуты назад, Barbanel сказал:
Если я не ошибаюсь, то при KeyPreview=True у формы, с которой вы в данный момент работаете, вы можете в обработчиках формы отлавливать клики и перемещения мыши. Проверьте.
KeyPreview только для VCL, разработка идет на FMX
-
7 минут назад, Tumaso сказал:
Я в токио использую TEdit.ResetFocus - фокус с edit убирается, событие OnExit срабатывает
В ios если тап за пределами Edit считается что редактирование завершено. Обрабатывать все OnClick(OnTap) по всем компонентам которые не принимают фокус на форме и там дергать TEdit.ResetFocus не вариант.
Как определить что нужно вызвать TEdit.ResetFocus?
-
15 минут назад, Barbanel сказал:
Я честно не знаю как принудительно убрать фокус у контрола. Может есть такой метод, я не могу в данный момент проверить.
Костыльное решение:
создать дополнительный контрол (например кнопку без обработчика), поместить его за пределы формы, по клику на нужные контролы (листбокс или тулбар) - устанавливать фокус на этот дополнительный контрол.PS смутно припоминаю что вроде как была процедура KillFocus, проверьте.
Главный вопрос как отловить клик на другой компонет который не принимает фокус и сделать "KillFocous". Вот ровно для этого нужен Layout на котором лежит Edit который перекрывает всю форму и ловит клик за пределами Edit и переводит все обратно в режим просмотра.
-
1 час назад, Barbanel сказал:
Установить фокус на другой компонент. Edit потеряет фокус и будет выглядеть как текст.
Пример такого стиля для Edit в аттаче.
Спасибо за пример.
Если тап сделан над ToolBar который не принимает фокус или на ListBox на место где нет ListBoxItem фокус не переходит с Edit. И Edit будет в режиме редактирования пока не тапнут на то что может принять фокус.
-
В 28.08.2018 в 15:21, dnekrasov сказал:
А почему бы просто не сделать стиль для TEdit, который в неактивном виде выглядит как TLabel?
Допусти сделали.
Edit выглядит как Label, делаем Tap на него и он переходит в режим редактирования (выглядит как обычный Edit) как потом его перевести обратно в вид Label при Tap на ToolBar на котором он лежит?
-
Решение следующее:
Layout который перекрывает всю форму на ней TEdit который позиционируется на то место где он нужен, на Layout обработчик Onclick/OnTap который скрывает Layout и передает результат редактирования назад на форму,
-
6 минут назад, POV сказал:
я описАлся - я имел в виду OnExit
OnExit срабатывает только если тот на кого "тапнули" может принять фокус (Edit, Memo), а ToolBar или SpeedButton не принимают фокус и OnExit не возникает.
-
Если вы о OnMouseLive на TEdit, то он срабатывает если Tap начался на Edit и вышел за его пределы.
-
Всем Привет!
Платформа ios Delphi 10.2.2, хочу при нажатии на label показывать edit (для редактирования label.) Столкнулся с проблемой:
Как отследить Tap за пределами Edit чтобы его скрыть, не могу понять как это сделать.
Немогу запустить приложение на IOS проблема с PAServer22 Delphi 11
в Настройки приложения
Опубликовано
Непонимаю в чем проблема.