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

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

  • Победитель дней

    390

Весь контент Brovin Yaroslav

  1. Добрый день, Внизу в каждой теме есть набор кнопок для публикации тем в социальных сетях. Этого достаточно или вы имеете в виду что-то другое?
  2. Например так: var RootMenuItem: TMenuItem; MenuItem: TMenuItem; begin RootMenuItem := TMenuItem.Create(nil); RootMenuItem.Text := 'Item level 1'; PopupMenu1.AddObject(RootMenuItem); MenuItem := TMenuItem.Create(nil); MenuItem.Text := 'Item level 2'; RootMenuItem.AddObject(MenuItem); end;
  3. В версии библиотеки FGX 0.5.0.41 найдена ошибка в компоненте TfgLinkedLabel, которая приводит к невозможности открыть ссылку в стандартном браузере. В будущей версии для XE8 эта ошибка устранена. Решения для текущей версии. Исправьте метод FMX.LinkedLabel.Android.TAndroidLaunchService.OpenURL: Было: function TAndroidLaunchService.OpenURL(const AUrl: string): Boolean; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(AUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); OpenLinkIntent.setType(StringToJString('text/html')); OpenLinkIntent.addCategory(TJIntent.JavaClass.CATEGORY_BROWSABLE); SharedActivity.startActivity(OpenLinkIntent); Result := True; end; Стало: function TAndroidLaunchService.OpenURL(const AUrl: string): Boolean; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(AUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); SharedActivity.startActivity(OpenLinkIntent); Result := True; end; Исправление будет включено в новой версию для XE8
  4. Вариант хорош, но потом нужно будет при очистке списка в каждом месте опять дефайны лепить. Чтобы утечек не было. По мне так проще использовать универсальный подход.
  5. У меня есть уже несколько глав на книгу. Но на их написание ушло много времени. И эта работа требует очень много дополнительного вне рабочего времени. Пока на текущий момент я думаю о создании электронных видео курсов. Это требует от меня меньше требование на оформление книги и тд. При этом я могу создавать отдельные курсы по интересным тематикам и их публикация не требует от меня создания всех курсов сразу. Если это интересно, то вы можете высказать какие темы вы хотели бы видеть в курсах и какие сами курсы.
  6. Я же вам написал. Измените область отрисовки ячейки так, чтобы в нее не попадали границы ячейки, в том числе горизонтальные.
  7. Вместо названия com.embarcadero.firemonkey.notifications.FMXNotificationAlarm нужно подставить название вашего регистрируемого BroadCastReceiver.
  8. Новая версия появится вместе с выпуском XE8. Для себя локально можете просто опубликовать свойство в FGX.VirtualKeyboard.TfgCustomVirtualKeyboard: public property State: TfgVirtualKeyboardVisible read FVKLastState;
  9. Если я правильно вас понял вас интересовал слайдер картинок. Этот пример удалили из поставки XE7. Пример: MetropolisUIFlipViewDemo.zip
  10. Добрый день, Какая версия среды? Как предположение, требующее проверки: сбросить и заново установить фокус в нужное поле ввода. Focused := nil; Focused := Edit1; // Любой контрол, на который требуется установить фокус
  11. Честно говоря, не смотря на то, что у TComboBox есть свойство Items. Я советую использовать ручное создание итемов. Так как TComboBox и TComboEdit имеют принципиально разные подходы к своим итемам. Если TComboBox поддерживает стилизацию итемов, то TComboEdit нет. Поэтому в TComboEdit работа с итемами идет через строковые Items. А в TComboBox исторически нужно было создавать TListBoxItem ручками. При ручном создании итемов мы можем: Создать специальный свой класс итема (наследник TListBoxItem), который будет поддерживать поле TField. И хранить все что нам захочется в любом виде и формате. Так же это будет хороший артефакт для дальнейших ваших разработок с участием БД. Избавиться от проблем, связанных с ARC и хранением своих данных. Самый простой пример: type TListBoxItemField = class(TListBoxItem) private FID: Integer; public property ID: Integer read FID write FID: end; // Создание итема var Item: TListBoxItemField; begin Item := TListBoxItemField.Create(nil); Item.Text := 'My Item'; Item.ID := 1; Item.Parent := ComboBox1; end; //Доступ к итему ComboBox1.ListItems[Index] as TListBoxItemField А можно в таком итеме сразу хранить поле типа TValue. В этом случае в такой итем можно будет сохранять значение любого типа.
  12. Описанная проблема зависит от платформы, а именно от ARC. Подобная тема была тут: У меня возникает ошибка при попытке добавить пустой TObject в TStringList Какие есть варианты решения: Использовать объектную оболочку вашего ID. Смотрите предложение от haword Использовать свойство Tag у итема TListBoxItem.
  13. Вычтете из области отрисовки Bounds районы вертикальных и горизонтальных полос: InnerBounds := Bounds; InnerBounds.Left := Bounds.Left + 1; InnerBounds.Bottom := Bounds.Bottom - 1;
  14. Не за что, обращайтесь. TValue не создает копии вашего изображения. Поэтому лучше хранить изображение отдельно и удалять его после того, как изображение больше не нужно будет выводить в стилевой объект.
  15. Нужно: Повесить обработчик события на ручную отрисовку ячеек: TGrid.OnDrawColumnCell: В обработчике в зависимости от требуемой строки или данных, нарисовать задний фон ячейки Затем поверх выполнить обычное отображение содержимого ячейки type TOpenColumn = class (TColumn); procedure TForm8.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates); begin if Row mod 2 = 0 then begin // Выполняем закраску заднего фона Canvas.Fill.Color := TAlphaColorRec.Aliceblue; Canvas.FillRect(Bounds, 0, 0, AllCorners, 1); // Рисуем поверх обычное отображение содержимого ячейки TOpenColumn(Column).DefaultDrawCell(Canvas, Bounds, Row, Value, State); end; end; Для этого примера, у меня получилось так:
  16. Добрый день, Например так: Item.StylesData['userimage.bitmap'] := TValue.From<TBitmap>(MyBitmap);
  17. На каждый новый редирект по идеи должен быть вызван TWebBrowser.OnDidStartLoad.
  18. На всякий случай. Аналогичный ответ был дан раньше здесь: Как узнать из какого ListBoxItem был вызван обработчик
  19. В новой версии для XE8 в TfgVirtualKeyboard добавлено новое read-only свойство Visible.
  20. На сколько я знаю, ресиверы нужно указывать в манифесте приложения: файл AndroidManifest.teamplate.xml. Например: <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" />
  21. Официальной информации пока не было о RoadMap на 2015 год.
  22. Вы у всех выделенных мною контролов (myStyle1, layout1, description, headtext) на картинке установили HitTest = False?
  23. Добрый день, Проблема в вашем стиле. У всех внутренних элементов стиля свойство HitTest установлен в True. Что означает, что все внутренние элементы стиля будут перехватывать клики мыши и нажатия на экран пальцем и блокировать их передачу в TListBox. Поэтому нужно, для всех не кликабельных элементов стиля сбросить HitTest = False.
×
×
  • Создать...