2009-09-12 4 views
1

Элемент управления TScrollBox выглядит так, как будто он должен быть TPanel с полосами прокрутки, прикрепленными вдоль нижней части и правым краем. Я попытался разместить его на форме, но независимо от того, что я делаю, я не могу заставить полосы прокрутки на самом деле появляться либо во время разработки, либо во время выполнения. Кто-нибудь знает, как заставить их появляться?Как заставить полосы прокрутки отображаться на TScrollBox?

ответ

3

AutoScroll Недвижимость True.
Теперь, если вы добавите элементы управления, которые клип границы коробки, появятся полосы.

+0

ОК, похоже, у меня неправильный контроль, а затем. Мне нужны полосы прокрутки, которые можно контролировать программно, исходя из других факторов, чем размеры и позиции элементов управления внутри коробки. –

+0

@Mason Wheeler, в случае, если вы не найдете надлежащего контроля для своей задачи, * уродливым * решением будет разместить панель внутри окна прокрутки. Изменив размер панели, вы можете настроить полосы прокрутки. Любой другой элемент управления должен находиться на этой панели. Конечно, если вам нужно больше контроля, вы всегда можете использовать элементы управления TScrollBar. –

2

Мейсон

Вы не можете видеть полосы прокрутки, пока есть на самом деле что-то для прокрутки.

Чтобы увидеть скроллбары попробовать этот

1.Установить свойство BorderStyle от формы к bsSingle

2.Insert кнопку в форме

3.Put полосы прокрутки в форме

4.Set свойство Align в TScrollBox к alClient

5.Run этот код в кнопку мыши

procedure TForm10.Button1Click(Sender: TObject); 
Var 
i : integer; 
ed : TEdit; 
begin 
      for i:=1 to 30 do 
      Begin 
       ed:=TEdit.Create(self); 
       ed.Parent:=ScrollBox1; 
       ed.Top:=5+((i-1)*30); 
       ed.Left:=10; 
       ed.Width:=100; 
       ed.Text:='Editext'+ IntToStr(i); 
      End; 
end; 

До свидания.

0

Если я не ошибаюсь (нет проверки Delphi, чтобы проверить), достаточно установить HorzScrollBar.Range достаточно большой.

EDIT: IIUC это DFM делает то, что вы хотите - полностью во время разработки:

object Form1: TForm1 
    Left = 0 
    Top = 0 
    Caption = 'Form1' 
    ClientHeight = 206 
    ClientWidth = 312 
    Color = clBtnFace 
    ParentFont = True 
    OldCreateOrder = True 
    PixelsPerInch = 96 
    TextHeight = 13 
    object ScrollBox1: TScrollBox 
    Left = 8 
    Top = 8 
    Width = 150 
    Height = 150 
    HorzScrollBar.Range = 300 
    VertScrollBar.Range = 300 
    AutoScroll = False 
    TabOrder = 0 
    end 
end 
Смежные вопросы