TScrollBoxにスクロールバーを表示するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1415267

  •  06-07-2019
  •  | 
  •  

質問

TScrollBoxコントロールは、基本的に、スクロールバーが下端と右端に沿って取り付けられたTPanelであるように見えます。フォームに配置しようとしましたが、何をしても、デザイン時または実行時にスクロールバーを実際に表示することはできません。誰でもそれらを表示する方法を知っていますか?

役に立ちましたか?

解決

AutoScroll プロパティを True に設定します。
ボックスの境界線をクリップするコントロールを追加すると、バーが表示されます。

他のヒント

メイソン

実際にスクロールするものがあるまで、スクロールバーは表示されません。

スクロールバーを表示するには、これを試してください

1.FormのBorderStyleプロパティをbsSingleに設定します

2。フォームにボタンを挿入します

3。フォームにスクロールバーを入れる

4.TScrollBoxのAlignプロパティをalClientに設定します

5。ボタンクリックでこのコードを実行

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;

はい。

私が間違えていなければ(Delphiがチェックしていません)、HorzScrollBar.Rangeを十分に大きく設定するだけで十分です。

編集: 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top