Лидеры
Популярный контент
Показан контент с высокой репутацией 28.03.2017 во всех областях
-
[TMultiView] Починили TMultiView.Enable в Tokyo
Barbanel и 4 других отреагировал Brovin Yaroslav за вопрос
Моя работа По просьбе трудящихся на этом форуме сделал эту задачу. А еще добавил настройки, чтобы можно было линию убирать.5 баллов -
[Форум]Последние сообщения - проблемы
Rusland и 4 других отреагировал Brovin Yaroslav за вопрос
Починил5 баллов -
[TPopupMenu] Можно ли стилизовать background у TPopupMenu?
Равиль Зарипов (ZuBy) и 3 других отреагировал enatechno за вопрос
В папке C:\Users\Public\Documents\Embarcadero\Studio\<версия>\Styles лежат файлы стилей. Вам надо смотреть в этой папке файлы *.style. Загрузите любой из них в StyleBook. Обычно стиль контрола имеет название <имя класса без Т>+'style'. Например editstyle, buttonstyle. Но есть и исключения из правил, как например <menu...>, но их тоже не сложно найти. Прямо в StyleBook вы можете менять параметры объектов стиля и смотреть, как они влияют на внешний вид контролов. И кстати, если делаете кроссплатформенный проект, учтите что TPopupMenu используется только в десктопных приложениях.4 балла -
[TPopupMenu] Можно ли стилизовать background у TPopupMenu?
Brovin Yaroslav и 2 других отреагировал enatechno за вопрос
Можно. Стиль называется menuviewstyle.3 балла -
TDropTarget, пунктирная линия между компонентами, Windows
AngryOwl и 2 других отреагировал Brovin Yaroslav за вопрос
Через стиль. Отредактировать стиль и убрать эту линию3 балла -
http://www.tahribat.com/forum/android---delphi-xe7-firemonkey-admob-interstitial-2045282 балла
-
TDropTarget, пунктирная линия между компонентами, Windows
AngryOwl и ещё один отреагировал Равиль Зарипов (ZuBy) за вопрос
да отредактируйте стиль, там лежит Rectangle убрать Sides2 балла -
[Статья] PHP сервер для рассылки Push на Android и iOS
Ingalime отреагировал alexbirukov за тема
Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам.1 балл -
Проблема в стиле. Если его удалить, или загрузить другой то все работает. Загрузите любой стиль например c:\Users\Public\Documents\Embarcadero\Studio\18.0\Styles\Win10Modern.Style и используйте его или если нужен свой, то посмотрите как там делается menuitemstyle. Там TLayout - со Stylename = glyph и на нем лежит TGlyph с Stylename - glyphstyle.1 балл
-
AV при загрузке иконки или картинки
enatechno отреагировал RoschinSpb за вопрос
Во-первых RoschinSpb попросит передать горячий и пламенный привет в QC. Во-вторых, если Вы создаете свой собственный стиль, то лучше бы соблюдать стандартную структуру стилевых объектов FGlyphObject это, как не сложно догадаться, стилевой элемент 'glyph'. Он содержит галочку и картинку. Возможно также что картинка будет располагаться не поверх галочки (как в Windows), а рядом с галочкой как в Mac. В этом случае glyphstyle будет расположена не внутри glyph, а рядом. В-третьих, если Вам просто требуется использовать ImageList, то нет смысла создавать свой стиль. Если Вы тренируетесь в создании стилей, то надо изучать соответствующий раздел и, скорее всего, исходники тоже.1 балл -
Я так понимаю, Вы имели ввиду 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 балл
-
[Статья] PHP сервер для рассылки Push на Android и iOS
Kitty отреагировал Равиль Зарипов (ZuBy) за тема
в статье описано как нужно настраивать проект1 балл -
[DX10.1][Android][TMultiView] Как убрать белую полоску у TMutiView?
Barbanel отреагировал Brovin Yaroslav за вопрос
В Токио в TMultiView имеет специальное свойство, которое позволяет настроить цвет этой линии или скрыть ее совсем. TMultiView.BorderOptions1 балл -
вот. один компонент на форме. граница есть никто вас не заставляет использовать dropTarget но реализация перетаскивания из explorer полностью ляжет на вас, как и было раньше1 балл
-
При расчете высоты 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 балл
-
Окончательная точка в вопросе расчета высоты TListViewItem (TListItemText)
Rusland отреагировал Евгений Корепов за вопрос
Наткнулся на еще один нюанс - подсчет высоты текста будет неверным для невидимого ListView. Т.е. если ListView еще не разу не был показан на экране (находится на другой форме, в другом табе), то AFontObject:=(AListView.FindStyleResource('font') as TFontObject) вернет хрен знает что. Для того чтоб заработало для еще невидимого ListView, необходимо перед добавлением Item, вернее перед AItem.Adapter.ResetView(AItem), выполнить ListView.ApplyStyleLookup; Добавлю в первую тему.1 балл -
[FGX] Будет ли релиз FGX под Tokyo?
Kitty отреагировал Евгений Корепов за вопрос
Версия fgx_0.7.1.118.zip нормально работает в Токио. Досконально не проверял, но явных глюков не замечено.1 балл -
То, что "жирность" шрифта в этом блоке скачет как хочет - это, по большому счету, ерунда. Но вот то, что "последнее сообщение" в теме не соответствует реальному - это уже плохо. В качестве примера: 1 - скрин главной страницы после нажатия Ctrl+F5 (полное обновление, минуя кеш) 2 - скрин темы. Самое интересное - что цифра 4 на главной странице действительно соответствует количеству ответов в теме. Вот только последний - не от того пользователя.1 балл
-
[Статья] PHP сервер для рассылки Push на Android и iOS
Kitty отреагировал Равиль Зарипов (ZuBy) за тема
незнаю как на плюсах будет, в uses добавлены? System.PushNotification {$IFDEF ANDROID}, FMX.PushNotification.Android {$ENDIF} {$IFDEF IOS}, FMX.PushNotification.iOS{$ENDIF}1 балл -
Как определить отсутствие изображения как такового в TBitmap?
Pax Beach отреагировал Равиль Зарипов (ZuBy) за вопрос
У 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 балл -
Не работает с вибрацией
afors отреагировал 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 балл -
Сделал вот так : if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then begin KeyboardService.HideVirtualKeyboard; KeyboardService.ShowVirtualKeyboard(ClearingEdit2); end; Работает. Правда не радует "моргание" клавиатурой, но ... хоть что-то. Спасибо ! Возможно лучше будет разделить сокрытие клавы и ее повторный показ по двум edit-ам. Разделил. Получается вполне нормально. Еще раз - СПАСИБО !1 балл
-
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 балл