Перейти к содержанию
Fire Monkey от А до Я

Bohdan

Пользователи
  • Постов

    14
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Bohdan

  1. все собиралось вчера и ставилось на телефон, сегодня запустил а тут такая фигня:
    PAClient Error] Error: E6664 xcode-select: error: tool 'actool' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    

     

    Непонимаю в чем проблема.

  2. 18 минут назад, Tumaso сказал:

    Уважаемый, вы видимо забыли свой изначальный вопрос? Ответ вам дан. Дальше все в ваших руках))

    Согласен, вопрос был как отследить Тар за пределами Edit, я сделал через Layout все работает ожидаемо и как надо.

    После этого пришли коллеги и предложили вариант со стилями которое вылилось в обработать все клики/тапы на контролах которые не принимают фокус для отслеживания потери фокуса Edit. Мне кажется это решение не оптимальным, я начал обсуждения этого варианта, вдруг будет решение проще чем Layout с Edit и одним обработчиком OnClick/OтTap на Layout.

    Не понимаю где я вышел за рамки своего вопроса,

  3. 1 час назад, krapotkin сказал:

    если фокус придет в любой другой компонент, то у этого и так сработает событие
    так что остается только обработать тапы в Layout или во что там у вас вставлено все

    учитывая небольшое кол-во элементов на экранчиках, это не так страшно

    Посмотри логику работы на IOS если элемент в  режиме редактирования. то тап за редактируемым элементом выводит его из режима редактирования, и не активирует другой элемент.

    1 час назад, Tumaso сказал:

    А что мешает использовать единый обработчик OnTap / OnClick для всех компонентов, которые не принимают фокус на форме?

    Коллеги как вы потом буде сопровождать ваше решение (добавить интерфейсные элементы, поменять на другие), нужно будет всегда помнить о добавлении обработчика клик/тап. По поводу количества компонентов подумайте о сложном приложении которое рассчитано на iPad 9 / Pad pro 12", возможно для телефонов ваше предложение годится.

     

  4. 2 минуты назад, Barbanel сказал:

    Если я не ошибаюсь, то при KeyPreview=True у формы, с которой вы в данный момент работаете, вы можете в обработчиках формы отлавливать клики и перемещения мыши. Проверьте.

    KeyPreview только для VCL, разработка идет на FMX

  5. 7 минут назад, Tumaso сказал:

    Я в токио использую TEdit.ResetFocus - фокус с edit убирается, событие OnExit срабатывает

    В ios если тап за пределами Edit считается что редактирование завершено. Обрабатывать все OnClick(OnTap) по всем компонентам которые не принимают фокус на форме и там дергать TEdit.ResetFocus не вариант.

    Как определить что нужно вызвать TEdit.ResetFocus?

     

  6. 15 минут назад, Barbanel сказал:

    Я честно не знаю как принудительно убрать фокус у контрола. Может есть такой метод, я не могу в данный момент проверить.

    Костыльное решение:
    создать дополнительный контрол (например кнопку без обработчика), поместить его за пределы формы, по клику на нужные контролы (листбокс или тулбар) - устанавливать фокус на этот дополнительный контрол.

     

    PS смутно припоминаю что вроде как была процедура KillFocus, проверьте.
     

    Главный вопрос как отловить клик на другой компонет который не принимает фокус и сделать "KillFocous".  Вот ровно для этого нужен Layout на котором лежит Edit который перекрывает всю форму и ловит клик за пределами Edit и переводит все обратно в режим просмотра.

  7. 1 час назад, Barbanel сказал:

    Установить фокус на другой компонент. Edit потеряет фокус и будет выглядеть как текст.

    Пример такого стиля для Edit в аттаче.

    Test_LabeledEdit.rar

    Спасибо за пример.

    Если тап сделан над ToolBar который не принимает фокус или на ListBox на место где нет ListBoxItem фокус не переходит с Edit. И Edit будет в режиме редактирования пока не тапнут на то что может принять фокус.

  8. В 28.08.2018 в 15:21, dnekrasov сказал:

    А почему бы просто не сделать стиль для TEdit, который в неактивном виде выглядит как TLabel?

    Допусти сделали.

    Edit выглядит как Label, делаем Tap на него и он переходит в режим редактирования (выглядит как обычный Edit) как потом его перевести обратно в вид Label  при Tap на ToolBar на котором он лежит? 

  9. Решение следующее:

     Layout который перекрывает всю форму на ней TEdit который позиционируется на то место где он нужен, на Layout обработчик Onclick/OnTap который скрывает Layout и передает результат редактирования назад на форму, 

     

  10. Всем Привет!

    Платформа ios Delphi 10.2.2, хочу при нажатии на label показывать edit (для редактирования label.) Столкнулся с проблемой:
     Как отследить Tap  за пределами Edit чтобы его скрыть, не могу понять как это сделать.

×
×
  • Создать...