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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      14

    • Постов

      2 124


  2. enatechno

    enatechno

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


    • Баллы

      8

    • Постов

      181


  3. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      5

    • Постов

      2 517


  4. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      3

    • Постов

      738


Популярный контент

Показан контент с высокой репутацией 28.03.2017 во всех областях

  1. Моя работа По просьбе трудящихся на этом форуме сделал эту задачу. А еще добавил настройки, чтобы можно было линию убирать.
    5 баллов
  2. В папке C:\Users\Public\Documents\Embarcadero\Studio\<версия>\Styles лежат файлы стилей. Вам надо смотреть в этой папке файлы *.style. Загрузите любой из них в StyleBook. Обычно стиль контрола имеет название <имя класса без Т>+'style'. Например editstyle, buttonstyle. Но есть и исключения из правил, как например <menu...>, но их тоже не сложно найти. Прямо в StyleBook вы можете менять параметры объектов стиля и смотреть, как они влияют на внешний вид контролов. И кстати, если делаете кроссплатформенный проект, учтите что TPopupMenu используется только в десктопных приложениях.
    4 балла
  3. Можно. Стиль называется menuviewstyle.
    3 балла
  4. Через стиль. Отредактировать стиль и убрать эту линию
    3 балла
  5. http://www.tahribat.com/forum/android---delphi-xe7-firemonkey-admob-interstitial-204528
    2 балла
  6. да отредактируйте стиль, там лежит Rectangle убрать Sides
    2 балла
  7. Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам.
    1 балл
  8. Проблема в стиле. Если его удалить, или загрузить другой то все работает. Загрузите любой стиль например c:\Users\Public\Documents\Embarcadero\Studio\18.0\Styles\Win10Modern.Style и используйте его или если нужен свой, то посмотрите как там делается menuitemstyle. Там TLayout - со Stylename = glyph и на нем лежит TGlyph с Stylename - glyphstyle.
    1 балл
  9. Во-первых RoschinSpb попросит передать горячий и пламенный привет в QC. Во-вторых, если Вы создаете свой собственный стиль, то лучше бы соблюдать стандартную структуру стилевых объектов FGlyphObject это, как не сложно догадаться, стилевой элемент 'glyph'. Он содержит галочку и картинку. Возможно также что картинка будет располагаться не поверх галочки (как в Windows), а рядом с галочкой как в Mac. В этом случае glyphstyle будет расположена не внутри glyph, а рядом. В-третьих, если Вам просто требуется использовать ImageList, то нет смысла создавать свой стиль. Если Вы тренируетесь в создании стилей, то надо изучать соответствующий раздел и, скорее всего, исходники тоже.
    1 балл
  10. enatechno

    Вставка стиля

    Я так понимаю, Вы имели ввиду FindAndCloneStyleResource? Этот метод не возвращает копию стиля. Он возвращает копию объекта(элемента) стиля. Например, если Вы хотите напрямую изменить элемент стиля (например цвет фона кнопки), то делаете: AObject := Button1.FindStyleResource('background'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := TAlphaColorRec.Aqua; И Button1 изменит цвет. Но, если после этого сделать Layout1.AddObject(AObject); то кнопка Button1 не будет больше иметь элемент 'background', родителем этого объекта станет Layout1. Что касается AObject := Button1.FindStyleResource('background', True); if AObject <> nil then Layout1.AddObject(AObject); или if Button1.FindAndCloneStyleResource('background', AObject) then Layout1.AddObject(AObject); то вы просто создаете новый объект AObject типа TRectangle со всеми свойствами как у стилевого элемента 'background', за исключением StyleName (у вновь созданного AObject будет StyleName = ''). В нашем примере этот новый объект (TRectangle) будет помещен на Layout1. При этом 'background' кнопки не изменится.
    1 балл
  11. в статье описано как нужно настраивать проект
    1 балл
  12. В Токио в TMultiView имеет специальное свойство, которое позволяет настроить цвет этой линии или скрыть ее совсем. TMultiView.BorderOptions
    1 балл
  13. вот. один компонент на форме. граница есть никто вас не заставляет использовать dropTarget но реализация перетаскивания из explorer полностью ляжет на вас, как и было раньше
    1 балл
  14. При расчете высоты TListItemText приходилось использовать костыль - указывать размер шрифта отличный от 12 (например 12.01 и т.д.), если эти пренебречь, то расчет высоты не работал и текст или резался или высота итема оказывалась гораздо больше текста. Проблема в том, что на стадиях расчета высоты, к TListItemText еще не применен стиль, и параметры шрифта не соответствуют тому как будет выглядеть окончательный вариант на экране. Для правильного расчета высоты нужно выдернуть шрифт из стиля, делается это вот так: Var AFontObject : TFontObject; AListItemText : TListItemText; ... AListItemText:=TListItemText(AItem.View.FindDrawable(AName)); if AListItemText=Nil then AListItemText:=TListItemText.Create(AItem); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then AListItemText.Font.Assign(AFontObject.Font); //Теперь вычисление высоты имеет смысл и не нужно задавать размер шрифта - он берется из стиля. AListItemText.Height:=CalculateHeight(AListItemText, AListView, FTextLayout); Или можно затолкать это действие в функцию вычисления высоты: function CalculateHeight(const AListItemText : TListItemText; const AListView : TListView; const FTextLayout : TTextLayout) : Single; Var AFontObject : TFontObject; begin FTextLayout.BeginUpdate; try FTextLayout.Text:=AListItemText.Text; FTextLayout.MaxSize:=TPointF.Create(AListItemText.Width, TTextLayout.MaxLayoutSize.Y); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then FTextLayout.Font.Assign(AFontObject.Font) else FTextLayout.Font.Assign(AListItemText.Font); FTextLayout.WordWrap:=AListItemText.WordWrap; FTextLayout.Trimming:=AListItemText.Trimming; FTextLayout.HorizontalAlign:=AListItemText.TextAlign; FTextLayout.VerticalAlign:=AListItemText.TextVertAlign; finally FTextLayout.EndUpdate; end; // Result:=FTextLayout.Height * 1.4; // Теперь этот костыль не нужен Result:=FTextLayout.Height; end; Внимание! Если вы заполняете еще невидимый на экране ListView, не забудьте выполнить ListView.ApplyStyleLookup перед добавлением Items, иначе не получите правильный размер шрифта из стиля.
    1 балл
  15. Наткнулся на еще один нюанс - подсчет высоты текста будет неверным для невидимого ListView. Т.е. если ListView еще не разу не был показан на экране (находится на другой форме, в другом табе), то AFontObject:=(AListView.FindStyleResource('font') as TFontObject) вернет хрен знает что. Для того чтоб заработало для еще невидимого ListView, необходимо перед добавлением Item, вернее перед AItem.Adapter.ResetView(AItem), выполнить ListView.ApplyStyleLookup; Добавлю в первую тему.
    1 балл
  16. Версия fgx_0.7.1.118.zip нормально работает в Токио. Досконально не проверял, но явных глюков не замечено.
    1 балл
  17. То, что "жирность" шрифта в этом блоке скачет как хочет - это, по большому счету, ерунда. Но вот то, что "последнее сообщение" в теме не соответствует реальному - это уже плохо. В качестве примера: 1 - скрин главной страницы после нажатия Ctrl+F5 (полное обновление, минуя кеш) 2 - скрин темы. Самое интересное - что цифра 4 на главной странице действительно соответствует количеству ответов в теме. Вот только последний - не от того пользователя.
    1 балл
  18. незнаю как на плюсах будет, в uses добавлены? System.PushNotification {$IFDEF ANDROID}, FMX.PushNotification.Android {$ENDIF} {$IFDEF IOS}, FMX.PushNotification.iOS{$ENDIF}
    1 балл
  19. У TBitmap есть такой метод, посмотрите его function TBitmap.EqualsBitmap(const Bitmap: TBitmap): Boolean; var MyMap, BitmapMap: TBitmapData; I: Integer; begin if IsEmpty or Bitmap.IsEmpty then begin Result := IsEmpty and Bitmap.IsEmpty; Exit; end; Result := (Width = Bitmap.Width) and (Height = Bitmap.Height) and (PixelFormat = Bitmap.PixelFormat); if Result then begin if Map(TMapAccess.Read, MyMap) then try if Bitmap.Map(TMapAccess.Read, BitmapMap) then try for I := 0 to Height - 1 do if not CompareMem(MyMap.GetScanline(I), BitmapMap.GetScanline(I), MyMap.BytesPerLine) then begin Result := False; Exit; end; finally Bitmap.Unmap(BitmapMap); end; finally Unmap(MyMap); end; end; end;
    1 балл
  20. Andrey Efimov

    Не работает с вибрацией

    Права дали точно? Вот вам мой класс для работы с вибрацией, там есть код проверки прав - https://github.com/AndrewEfimov/Android-API/blob/master/Vibrator/class/Vibrator.Android.pas (https://github.com/AndrewEfimov/Android-API/tree/master/Vibrator, класс и тестовое приложение) либо посмотрите в настройках приложения, раздел с правами.
    1 балл
  21. Сделал вот так : if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then begin KeyboardService.HideVirtualKeyboard; KeyboardService.ShowVirtualKeyboard(ClearingEdit2); end; Работает. Правда не радует "моргание" клавиатурой, но ... хоть что-то. Спасибо ! Возможно лучше будет разделить сокрытие клавы и ее повторный показ по двум edit-ам. Разделил. Получается вполне нормально. Еще раз - СПАСИБО !
    1 балл
  22. private .... procedure DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); override; procedure DragDrop(const Data: TDragObject; const Point: TPointF); override; .... procedure TMainForm.DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); begin inherited; Operation:=TDragOperation.Link; end; procedure TMainForm.DragDrop(const Data: TDragObject; const Point: TPointF); begin ... свой код... inherited; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...