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

Лидеры

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

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

    Модераторы


    • Баллы

      15

    • Постов

      2 517


  2. Vitaldj

    Vitaldj

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


    • Баллы

      4

    • Постов

      847


  3. zairkz

    zairkz

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


    • Баллы

      2

    • Постов

      135


  4. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      1

    • Постов

      2 124


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

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

  1. Компонент TMapsEngine Возможности Нативный LocationSensor [ANDROID] Геокодинг/Реверс геокодинг через Google API, Yandex API, Here Maps API Построение маршрута через Google Distance API Расчет дистанции по прямой Совместим со стандартным компонентом TLocationSensor Видео демонстрация На видео видно как TMapView косячик с миллионом точек, приложение зависло при отрисовке, но с этим ничего не поделать. Без синхронизации не возможно отрисовать все точки Исходник TMapsEngine_source.zip TMapsEngine_Seattle_10.zip Скачать APK (долго он там не пролежит, а форум не позволяет загрузить zip размером 7,4 мб )
    8 баллов
  2. Ярослав, а все таки когда будет доступен компонент простым пользователям? Очень нужен! )
    4 балла
  3. Равиль Зарипов (ZuBy)

    TMapsEngine

    пользуйтесь
    2 балла
  4. zairkz

    TMapsEngine

    ZuBy красавчик, компонент шикарный, очень помогает его компонент, на счет HereMaps не знал , хотя сидим в одном кабинете
    2 балла
  5. Опишите подробней, может и поможем всем форумом)
    1 балл
  6. Получаю аналогичную ошибку "blocking dialogs not implemented on this platform" при использовании InputQuery try if InputQuery( 'Enter New Item', 'Name', TaskName) and (TaskName.Trim <> '') then begin FDQueryInsert.ParamByName('ShopItem').AsString := TaskName; FDQueryInsert.ExecSQL(); FDQuery1.Close; FDQuery1.Open; end; except on e: Exception do ShowMessage(e.Message); end; Подскажите что дописать в InputQuery? в FMX он работает по другому InputQuery имеет еще параметры смотрим внимательно type TInputCloseQueryEvent = procedure(Sender: TObject; const Values: array of string; var CanClose: Boolean) of object; TInputCloseQueryFunc = reference to function(const Values: array of string): Boolean; TInputCloseQueryProc = reference to procedure(const AResult: TModalResult; const AValues: array of string); TInputCloseBoxProc = reference to procedure(const AResult: TModalResult; const AValue: string); TInputCloseDialogProc = reference to procedure(const AResult: TModalResult); TInputCloseDialogEvent = procedure(Sender: TObject; const AResult: TModalResult) of object; TInputCloseQueryWithResultEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValues: array of string) of object; TInputCloseBoxEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValue: string) of object;
    1 балл
  7. поверх TMapView ничего нельзя наложить, можно например в заголовке или внизу наоборот. TMapView также как и TWebBrowser нельзя перекрыть ничем
    1 балл
  8. AngryOwl

    Как нарисовать круглый TImage

    var BmpNew : TBitmap; begin BmpNew := TBitmap.Create; BmpNew.SetSize({нужный размер}, {нужный размер}); BmpNew.Canvas.BeginScene; try BmpNew.Canvas.Fill.Kind := TBrushKind.Bitmap; BmpNew.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch; BmpNew.Canvas.Fill.Bitmap.Bitmap := {ваш битмап}; BmpNew.Canvas.Clear(0); BmpNew.Canvas.FillEllipse(RectF(0, 0, {нужный размер}, {нужный размер}), 1); finally BmpNew.Canvas.EndScene; end; TImage{ваш объект}.Bitmap.Assign(BmpNew); end; думаю так
    1 балл
  9. Что такое marker? Если TMapMarkerDescriptor, то это Record. Icon это просто поле которое ссылко на объект. Если объект будет уничтожен, то мы получим Access Violation. TImageList в Fire Monkey не имеет метода GetBitmap. Зато есть метод Bitmap. О котором можно прочитать в документации: FMX.ImgList.TCustomImageList.Bitmap в частности Кроме того в предложенной статье написано: Т.е. в отличии от VCL-ного TImageList, в FMX, он не имеет постоянного размера. В зависимости от того, какой размер нам нужен будет сгенерирована картинка TBitmap растянутая/сжатая до нужных размеров с сохранением пропорций. Чтобы это не занимало слишком много времени последние сгенерироваyные картинки хранятся во внутреннем буфере из которого они могут "выталкиваться". В Image (как и для большинства классов) при присваивании экземпляра какого-нибудь объекта в сеттере вызывается метод Assign, т.е. копируется не ссылка на объект, а копируются данные. В этом случае нас не интересует дальнейшая судьба исходного объекта.
    1 балл
  10. Как и в любой задаче, здесь есть несколько вариантов решения. Каждый вариант обладает своими достоинствами и характеризуется степенью сложности реализации. На вскидку, мне кажется, что следующий вариант будет лучшем в вашем случае: Отдельный компонент-контрол TSnowFall Назовем его условно TSnowfall (снегопад). Он будет рисовать на себе падающие снежинки. Мы располагаем его в корне формы и растягиваем на весь экран Align = alContent, так же всегда располагаем его поверх всех остальных контролов (BringToFront) и запретим ему перехватывать события мыши (HitTest = False), чтобы он не нарушал логику работы всех остальных контролов. Затем в перекрытом методе TControl.Paint выполняем отрисовку снежинок с текущими позициями. А в созданном вручную таймере по каждому тику меняем текущее положение всех снежинок и вызываем метод перерисовки TControl.Repaint. На мой взгляд этот вариант хорош: Полное отделение логики от кода формы. То есть код формы будет проще за счет убирания всего кода работы с отрисовкой снежинок в отдельный юнит. Легкое расположение занавеса снежинок в любом месте. С возможностью привязки к любому контролу и без. Повторное использование в любом другом месте. Постусловие Каждая форма FireMonkey имеет одну канву. Поэтому все контролы по сути рисуются на ней, в отличии от VCL, где каждый контрол с оконным хендлом имеет свой графический контекст -> канву. Когда форма получает запрос на отрисовку, она по шаблону цепочка ответственности делегирует всем контролам по дереву запрос на отрисовку. В каждом контроле происходит подготовка общей канвы под отрисовку нужного контрола, который в текущий момент отрисовывается. То есть задается матрица трансформации, чтобы контрол работал в своей локальной системе координат, а не в абсолютной СК формы. И тд. Поэтому теоретически вы можете рисовать поверх любых контролов в TForm.OnPaint, но это правильно. Лучше использовать мой предложенный подход, описанный выше.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...