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

Palych

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

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

  • Посещение

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Palych

  1. Здравствуйте! Сделал редактирование данных в ListBoxItem.ItemData.Detail отображением другой формы с полем ввода и полупрозрачным затенением оставшейся части экрана (доработал под себя имеющиеся на данном форуме примеры своего InputQuery). Окно вызываю по событию ListBoxItem.OnClick. Но когда элементы занимают больше экрана, то при попытке прокрутки списка зачастую вызывается редактор значения. Подумал, может быть на двойной клик повесить вызов этого редактора, но к своему удивлению обнаружил, что у ListBoxItem нет такого события. Может быть, есть способ в обработчике события ListBoxItem.OnClick отделить одинарные клики от двойных (для VCL был подобный пример)? Также на форуме приводили временное решение для другого компонента, на тестовом примере оно вроде бы работает (хотя жутко неудобно добавлять обработчики для каждого айтема в рантайм): ... type TListBoxItem = class(FMX.ListBox.TListBoxItem) property OnDblClick; end; TForm1 = class(TForm) ... public { Public declarations } procedure MyDblClick(Sender: TObject); end; procedure TForm1.FormCreate(Sender: TObject); begin ListBoxItem1.OnDblClick := MyDblClick; end; procedure TForm1.MyDblClick(Sender: TObject); begin ShowMessage('DblClick'); end; Но вот когда пробую аналогичное в упомянутом выше боевом проекте использовать, то при первом двойном клике возникает AV (там, где по одинарному клику все прекрасно).
  2. А можно чуть подробнее? В OnCreate главной формы пишу: btnMasterButton.TintColor := TAlphaColorRec.White; Эффекта нет, значек кнопки не меняется. Правда, приложение пока что пишу под Win.
  3. Возник вопрос - а стандартные изображения всегда одного цвета, нет адаптации (автоматической или выставлением свойства) под темный цвет фона? В приложении пока дефолтный стиль и никаких TStyleBook. Кидаю на форму TToolBar, на него TRectangle, у последнего убираю границы и выставляю Fill.Color = Cornflowerblue. На прямоугольник кидаю две быстрых кнопки, для которых выбираю StyleLookup = drawertoolbutton и priortoolbutton соответственно. Хотелось бы белый цвет линий элементов как у текста справа. Каким образом лучше всего сменить цвет стандартных иконок на белый? Заменой иконок через TImageLis, заменой стиля (как? радикально другой скин в TStyleBook или для кнопок только можно подгрузить?) или я какое-то св-во не приметил?
  4. С исправленным модулем сенсорная клавиатура заработала на десктопе со всеми последними обновлениями при переключении в режим планшета. А на самом планшете, где не стоят обновления и используется предыдущий релиз десятки, не работает., хотя для Блокнота клава появляется. Копаю в сторону: ShellExecute(0, 'OPEN', PWideChar('C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe'), '', '', 1);
  5. Ярослав, спасибо за совет! Добавил в OnCreate главной формы: FMX.Types.VKAutoShowMode := TVKAutoShowMode.Always; Стала вызываться экранная клавиатура и без добавления обработчиков OnEnter и OnExit для каждого контрола, уже лучше. Естественно, возникло желание заменить экранную клавиатуру сенсорной, почитал соседнюю тему, заменил 3 строчки в FMX.Platform.Win.pas от D10.1 Upd2: constructor TVirtualKeyboardWin.Create; ... {FPath := S; FExeName := 'osk.exe'; FWndClassName := 'OSKMainClass';} FPath := 'C:\Program Files\Common Files\Microsoft Shared\ink\'; FExeName := 'TabTip.exe'; FWndClassName := 'IPTip_Main_Window'; ... Файл скинул в папку проекта. Но при активации едитов клавиатура ен показывается. Если убрать из папки FMX.Platform.Win.pas, то снова отображается экранная клава. ЧЯДНТ? Тестовый проект прикрепляю. sens_keyb.zip
  6. Разрабатываю FM-приложение в Delphi 10.1 Upd2 для планшета с Win 10. Выставляю Edit1.KeyboardType := NumberPad. Но при отключенной от планшета физической клавиатуре виртуальная не появляется. В Винде в настройках ввода активировал пункт "Автоматическое отображение сенсорной клавиатуры к оконных приложениях при отсутствии подключенной ...", но это не помогает. Получилось вызвать экранную клаву по onEnter: ... if Sender is FMX.Types.TFmxObject then if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.ShowVirtualKeyboard(Sender as FMX.Types.TFmxObject); Но там много лишних кнопок (кнопка Win, наличие букв в полях только для цифр, начальное положение по центру экрана и т.п.). Можно ли под Win 10 как-то отображать и скрывать именно сенсорную клавиатуру нужного типа (с буквами и цифрами, только буквы, для ввода email и URL и т.п.)? Или единственный выход - изобретение собственного велосипеда? Важно, что к устройству в будущем предполагается неоднократное подключение/отключение сканера штрих-кода в режиме эмуляции ввода с клавиатуры и нужно, чтобы клавиатура вызывалась даже после этого. Буду крайне признателен за советы!
  7. Delphi 10.1 Upd2, приложение на FM для Win32 под сенсорный экран планшета. Пишу код в OnButtonClick, код вызывается. Если создаю реакцию на события OnItemClick или OnChange, то код OnButtonClick перестает срабатывать при клике на кнопке. Если вместо них реагирую на OnItemClickEx, то выполняются и оба обработчика. Пл совету выше в OnItemClickEx придется писать так: if not (ItemObject is TListItemTextButton) then begin // реакция на клик по элементу вне кнопки ... end; Это перекрытие обработчиков событий баг или фича FM?
×
×
  • Создать...