-
Постов
0 -
Зарегистрирован
-
Посещение
Активность репутации
-
Мирзали Пирмагомедов отреагировална Brovin Yaroslav в Как я могу скрыть / показать клавиатуру под "Android"?
Русский
За управление виртуальной клавиатурой в FireMonkey отвечает сервис IFMXVirtualKeyboardService (Embarcadero Doc Wiki). Который позволяет отображать и скрывать клавиатуру.
Для скрытия клавиатуры достаточно выполнить следующий код:
uses FMX.Platform, FMX.VirtualKeyboard; procedure TForm5.ButtonHideKeybordClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Запрашиваем сервис виртуальной клавиатуры if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.HideVirtualKeyboard; end; Чтобы показать клавиатуру для контрола:
procedure TForm5.ButtonShowKeyboardClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Запрашиваем сервис виртуальной клавиатуры if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.ShowVirtualKeyboard(Edit1); end;
English
FireMonkey has special service for managing Virtual Keyboard. It is IFMXVirtualKeyboardService (Embarcadero Doc Wiki). It allows show and hide keyboard.
For showing virtual keyboard use next code: uses FMX.Platform, FMX.VirtualKeyboard; procedure TForm5.ButtonHideKeybordClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Request service of visrtual keyboard if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.HideVirtualKeyboard; end; For showing virtual keyboard for control:
procedure TForm5.ButtonShowKeyboardClick(Sender: TObject); var KeyboardService: IFMXVirtualKeyboardService; begin // Request service of visrtual keyboard if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then KeyboardService.ShowVirtualKeyboard(Edit1); end; -
Мирзали Пирмагомедов отреагировална Евгений Корепов в FMX ListView, вывод и чтение данных списка
Все тоже самое что и VLC, только чуток по другому:
procedure TForm1.FillListView; var AItem : TListViewItem; begin AItem :=Listview.Items.Add; AItem.Data['Text1']:='Яблоки';//товар AItem.Data['Cost']:=100;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Груши';//товар AItem.Data['Cost']:=120;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Дыни';//товар AItem.Data['Cost']:=80;//ценаend; end; procedure TForm1.ProcessingListView; var I : Integer; AItem : TListViewItem; ASum : Currency; begin ASum:=0; for I := 0 to ListView.Items.Count - 1 do begin AItem:=(ListView.Items.Item[I] as TListViewItem); ASum:=ASum + AItem.Data['Cost'].AsCurrency; end; Label1.Text:=CurrToStr(ASum); end; Обратите внимание - цену присваиваем как число, а не как строку (не за чем лишние преобразования делать)
AItem.Data['Cost']:=120;//цена
Вторую процедуру можно было без AItem : TListViewItem; сделать, но для наглядности я сделал именно так.
-
Мирзали Пирмагомедов отреагировална Brovin Yaroslav в [TListView] Как поменять цвет шрифта у SearchBox у TListView?
Добрый день,
Забыли про StyledSettings.
Итого весь код по поиску SearchBox и изменении цвета текста:
function FindSearchBox(const ARootControl: TControl): TSearchBox; var Child: TControl; begin Result := nil; for Child in ARootControl.Controls do if Child is TSearchBox then Exit(TSearchBox(Child)); end; procedure TForm15.Button1Click(Sender: TObject); var SearchBox: TSearchBox; begin SearchBox := FindSearchBox(ListView1); if SearchBox <> nil then begin SearchBox.TextSettings.FontColor := TAlphaColorRec.Red; SearchBox.StyledSettings := SearchBox.StyledSettings - [TStyledSetting.FontColor]; end; end; -
Мирзали Пирмагомедов отреагировална Alexey Lovchikov в Можно ли программно передать фокус на SearchBox и очистить строку?
Используй Helper
uses FMX.SearchBox; type TListViewMyHelper = class helper for TListView public function SearshBox: TSearchBox; end; { TListViewMyHelper } function TListViewMyHelper.SearshBox: TSearchBox; var AIdx: Integer; begin for AIdx := 0 to Self.ComponentCount - 1 do if Self.Components[AIdx] is TSearchBox then begin Result := TSearchBox(Self.Components[AIdx]); Break; end; end; Или просто функцию
function SearshBox(AListView: TListView): TSearchBox; var AIdx: Integer; begin for AIdx := 0 to AListView.ComponentCount - 1 do if AListView.Components[AIdx] is TSearchBox then begin Result := TSearchBox(AListView.Components[AIdx]); Break; end; end;
Primer.zip
-
Мирзали Пирмагомедов отреагировална Brovin Yaroslav в Как использовать один экземпляр TStyleBook для нескольких форм?
Есть такое дело.
Поэтому как временное решение:
Используете дизайнер стилей на обычной форме Потом сохраняете готовый стиль в файл Загружается стиль из файла в TStyleBook в дата модуле.