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

Лидеры

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

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

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


    • Баллы

      3

    • Постов

      738


  2. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      1

    • Постов

      851


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

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

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  4. krapotkin

    krapotkin

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


    • Баллы

      1

    • Постов

      2 213


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

Показан контент с высокой репутацией 02.03.2017 в Сообщения

  1. AliZairov

    CrossVCL Beta XE3-Berlin

    Hi. New tools for Delphi IDE. Using CrossVcl you focus only on your VCL application and CrossVcl makes it cross-platform. This is beta software only for testing purpose. CrossVcl on early stage of development, what are to test in this release: * Installation process (CrossVcl creates copy and patches existing on your machine Vcl and Rtl sources, all original sources stay unmodified) * Upgrading simple or new Vcl project to macOS (Right Click on Project in Project Inspector) * Compilation and deploying of simple project Please do not create bug-report if you can't compile or launch big Vcl projects or any third-party controls at this stage. Bug reports and suggestions welcome at: https://bitbucket.org/crossvcl/crossvcl/issues We help you on: http://stackoverflow.com/questions/tagged/crossvcl Google+: https://plus.google.com/109334532832375082802 Facebook: https://www.facebook.com/crossvcl Twitter: https://twitter.com/VclCross Home
    1 балл
  2. Равиль Зарипов (ZuBy)

    TWebBrowser

    из TWebBrowser никак вроде можно через THTTPClient и метод Get(url)
    1 балл
  3. чтобы выгрузить что-то на устройство все равно нужен сертификат, насколько я понимаю
    1 балл
  4. Похоже я все победил! Вот код который отлично работает без костылей: function SetupTextObject(const AName, AText : String; AWidth, AHeight, X , Y : Single; AAlign, AVertAlign: TListItemAlign; ATextAlign, ATextVertAlign: TTextAlign) : TListItemText; begin Result:=TListItemText(AItem.View.FindDrawable(AName)); if Result=Nil then begin Result:=TListItemText.Create(AItem); Result.Name:=AName; Result.Width:=AWidth; Result.Text:=AText; Result.PlaceOffset.X:=X; Result.PlaceOffset.Y:=Y; Result.Align:=AAlign; Result.VertAlign:=AVertAlign; Result.TextAlign:=ATextAlign; Result.TextVertAlign:=ATextVertAlign; if AHeight=-1 then begin if FListViewItemTextHeigh=-1 then begin // Ищем стилевой объект 'font' в ListView и присобачиваем его к нашему итему AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then Result.Font.Assign(AFontObject.Font); FListViewItemTextHeigh:=GetTextHeight(Result, AWidth, AText); Result.Height:=FListViewItemTextHeigh; end else Result.Height:=FListViewItemTextHeigh; end else Result.Height:=AHeight; Result.Visible:=True; end; end; До применения шрифта из стиля Result.Font.Size=12, после Result.Font.Assign(AFontObject.Font) значение размера меняется на 18 - теперь высота рассчитывается корректно.
    1 балл
  5. Я наступил на те же грабли что и уважаемый HyperZen. Причем наступал я на эти грабли много раз раз, в каждой версии Delphi. Малюсенькое исправление решает проблему: function SetupTextObject(const AName, AText : String; AWidth, AHeight, X , Y : Single; AAlign, AVertAlign: TListItemAlign; ATextAlign, ATextVertAlign: TTextAlign) : TListItemText; begin Result:=TListItemText(AItem.View.FindDrawable(AName)); if Result=Nil then begin Result:=TListItemText.Create(AItem); Result.Name:=AName; Result.Width:=AWidth; //********************************************************* Result.Font.Size:=Result.Font.Size + 0.01; // Вот этот костыль заставляет все работать как задуманно. //********************************************************* Result.Text:=AText; Result.PlaceOffset.X:=X; Result.PlaceOffset.Y:=Y; Result.Align:=AAlign; Result.VertAlign:=AVertAlign; Result.TextAlign:=ATextAlign; Result.TextVertAlign:=ATextVertAlign; if AHeight=-1 then begin if FListViewItemTextHeigh=-1 then // Так как везде один шрифт, то вычисляем высоту текста однократно begin FListViewItemTextHeigh:=GetTextHeight(Result, AWidth, AText); Result.Height:=FListViewItemTextHeigh; end else Result.Height:=FListViewItemTextHeigh; end else Result.Height:=AHeight; end; end; Проблема в старинном глюке эмбаркадеровского ListView - вычисление высоты текста на этапе создания, или позднее не имеет смысла, потому как размер шрифта по умолчанию (обычно 12), перед отрисовкой превратиться во все что угодно, но не в 12, стиль применит свой размер шрифта и ваши расчеты высоты итема можно будет выкинуть. Победить глюк можно только установкой своего размера (обязательно отличного от 12 - цифра 12 "мудро" используется ембаркадерой как флаг означающий что можно применить стиль. Помню что задавал здесь этот вопрос не раз, но так и не получил ответа - как узнать размер шрифта из стиля, а не из FontSize????????????????!!!!!!!!!!!!!! Только с размерами шрифта из стиля имеет смысл расчитывать высоту. Даже в стандартых примерах эмбаркадыры этот скользкий момент старательно обходится и внимание на нем не концентрируется. Вот пример \Studio\18.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\VariableHeightItems: Drawable.Font.Size := 1; // Ensure that default font sizes do not play against us Drawable.Font.Size := 10 + Random(4) * 4; они делают хитро, вместо стандартный 12 пишут 1, а потом уже вписывают нужные значения. Если закомментировать эти две строчки (или написать Drawable.Font.Size := 12), то пример перестает работать, текст режется.
    1 балл
  6. Евгений Корепов

    ListView Item.Height

    To hide individual item is better to use the filtering feature TListView.ListViewFilter(Sender: TObject; const AFilter, AValue: string; var Accept: Boolean);
    1 балл
  7. Button1.StaysPressed := true; procedure TForm1.Button1Click(Sender: TObject); begin if Button1.IsPressed then ShowMessage('нажата') else ShowMessage('отжата'); end;
    1 балл
  8. 1 балл
  9. 1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...