Domanda

Il controllo TScrollBox sembra fondamentalmente essere un TPanel con barre di scorrimento attaccate lungo il bordo inferiore e destro. Ho provato a posizionarne uno su un modulo, ma non importa cosa faccio, non riesco a far apparire effettivamente le barre di scorrimento, in fase di progettazione o in fase di esecuzione. Qualcuno sa come farli apparire?

È stato utile?

Soluzione

Imposta la proprietà AutoScroll su True .
Ora se aggiungi controlli che taglia i bordi della casella, appariranno le barre.

Altri suggerimenti

Mason

Non puoi vedere le barre di scorrimento finché non c'è effettivamente qualcosa su cui scorrere.

Per vedere le barre di scorrimento, prova questo

1.Impostare la proprietà BorderStyle del modulo su bsSingle

2.Inserire un pulsante in un modulo

3.Metti una barra di scorrimento in un modulo

4.Impostare la proprietà Align di TScrollBox su alClient

5. Esegui questo codice con un clic sul pulsante

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;

Ciao.

Se non sbaglio (non c'è Delphi in giro per verificare), è sufficiente impostare HorzScrollBar.Range abbastanza grande.

MODIFICA: IIUC questo DFM fa quello che vuoi - interamente in fase di progettazione:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top