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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      9

    • Постов

      2 124


  2. rareMax

    rareMax

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


    • Баллы

      1

    • Постов

      553


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

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

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  4. Adm123

    Adm123

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


    • Баллы

      1

    • Постов

      25


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

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

  1. Если мне память не изменяет, то в последней версии делфи это можно сделать через TListBox.Padding По мотивам темы: Как задать внутренний отступ padding для контента TScrollBox?
    2 балла
  2. Странно, что у компонента TPopupBox нету публичного метода для этого. Добавим. Однако, пока открыть можно только так: type TOpenPopupBox = class(TPopupBox); procedure TForm1.Button1Click(Sender: TObject); begin TOpenPopupBox(PopupBox1).DoPopup; end;
    1 балл
  3. С - базовый класс для А? Лучше бы примерчик кода, чтобы было понятно, кто кому и как и кем приходится.
    1 балл
  4. Тут вышло недопонимание. Процитированный мной пост ZuBy вовсе не был обращен ко мне, но на тот момент почему-то отображался у меня последним. Видимо, форум после обновления не совсем "очнулся". Так что это не в счёт. А пример из посла Rusland я, конечно, видел и передачи информации из сервиса в приложение добился. Проблема в другом - как сделать, чтоб приложение информацию принимало, но не вылезало рри этом на рабочий стол.
    1 балл
  5. Download: https://github.com/TurboPack/LockBox/archive/master.zip https://github.com/TurboPack/LockBox LockBox-master.zip
    1 балл
  6. Спасибо за отклик. Но в этом событии все работает отлично, не работает событие OnSetValue. То есть если из вашего примера то: if ((Col == 0) && (Row == 0)) { Value = DateTimeToStr(Now()); } В событии OnSetValue не срабатывает даже. Именно на эти поля TPopupColumn и TDateColumn. То есть я могу отобразить значение переменной в Гриде, а вот из Грида изменить значение переменной не получается.
    1 балл
  7. Введение Появление экранов повышенной плотность физических точек, привело с одной стороны к проблеме адаптации графического интерфейса под разные разрешения экранов при их одинаковых физических размерах, с другой к увеличению четкости и качества картинки. Например, если раньше на iPhone 3 при размере экрана 3,5 дюйма позволял отобразить 320х480 точек, то на устройстве iPhone 4 при таком же физическом размере экрана, экран мог уже отображать 640х960 точек. Это хорошо видно на увеличенном изображении обычного экрана и ретина экрана на рисунке ниже (слева - не ретина, справа - ретина (2х)). Справа количество физических точек ровно в четыре раза больше, чем слева: Для разработчика это могло означать, что интерфейс привязанный к разрешению 320х480 на Retina экране будет занимать только четверть экрана. Естественно, что использование разрешения экрана в физических координатах не удобно с этой точки зрения. Именно по этому появились логические координаты, которые гарантируют, что тот же пользовательский интерфейс для iPhone 3, будет иметь такие же размеры (физические) и на экране с ретиной. FireMonkey работает в логических координатах. Это означает, что на iPhone 3 - 4 мы работаем с логическим разрешением 320x480 точек. Однако, при отображении интерфейса на iPhone 4 c (с двойной плотностью пикселей по сравнению с iPhone 3), интерфейс автоматически масштабируется на физическое разрешение 640х960 с коэффициентом масштабирования равным 2. Практика Теперь посмотрим, как получить всю эту информацию. Вся информация об экране (логический размер и коэффициент масштабирования) находится в сервисе IFMXScreenService. Чтобы получить физическое разрешение экрана, нужно логический размер умножить на коэффициент масштабирования. Код ниже показывает, как получить доступ к этому сервису и извлечь требуемые параметры: var ScreenService: IFMXScreenService; LogicScreenSize: TPoint; ScreenScale: Single; begin // Запрашиваем сервис экрана, для получения информации о размере и текущем коэффициенте масштабирования if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then begin LogicScreenSize := ScreenService.GetScreenSize.Round; ScreenScale := ScreenService.GetScreenScale; LabelLogicScreenSize.Text := Format('Логический размер: %d, %d', [LogicScreenSize.X, LogicScreenSize.Y]); LabelPhysicScreenSize.Text := Format('Физический размер: %f, %f', [LogicScreenSize.X * ScreenScale, LogicScreenSize.Y * ScreenScale]); LabelScreenScale.Text := Format('Коэффициент масштабирования: %f',[ScreenService.GetScreenScale]); end; end; Результат кода приведен на снимке экранов ниже для iPad устройств с ретиной экраном и без:
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...