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

Как узнать ширину ползунка у TScrollBar?


antarey

Вопрос

Как узнать ширину ScrollBar-а (самой полосы прокрутки) для различных платформ Android/Windows.

 

Задача в чем - при увеличении длинны дочернего элемента скрулбара появляется полоса прокрутки и ширина дочернего элемента уменьшается, а мне надо чтобы ширина едита не менялась - а для этого  как я понимаю надо увеличить ширину скрулбара на ширину полосы прокрутки, а она разная для разных платформ 
post-49-0-51753700-1417084900_thumb.png

Ссылка на комментарий

Рекомендуемые сообщения

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

Использовать, когда стиль для TScrollBar загружен.

type
  TOpenScrollBar = class(TScrollBar);
  TOpenCustomTrack = class(TCustomTrack);

function GetThumbWidth(const AScrollBar: TScrollBar): Single;
var
  Track: TCustomTrack;
  Thumb: TThumb;
  ThumbWidth: Single;
begin
  ThumbWidth := 0;
  Track := TOpenScrollBar(AScrollBar).Track;
  if Track <> nil then
  begin
    Thumb := TOpenCustomTrack(Track).Thumb;
    if Thumb <> nil then
      ThumbWidth := Thumb.Width;
  end;
  Result := ThumbWidth;
end;

procedure TForm4.Button1Click(Sender: TObject);
begin
  ShowMessage(GetThumbWidth(ScrollBar1).ToString);
end;
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...