Здравствуйте. В моем приложении есть несколько фреймов. Все они располагаются на одной форме - на главной. В некоторых фреймах высота может быть очень большой, поэтому должна быть возможность скроллить форму, на которой расположены такие фреймы. Я поставил флажок autoscroll в true для главной формы, на которой расположены все фреймы. И написал следующий код - чтобы высота и ширина фреймов соответствовала форме.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Unit3;
type
TForm1 = class(TForm)
Frame31: TFrame3;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure SetPosition;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
SetPosition;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
SetPosition;
end;
procedure TForm1.SetPosition;
begin
Frame31.Left := 0;
Frame31.Top := 0;
Frame31.Width := Form1.Width;
Frame31.Height := Form1.Height;
end;
end.
Вот код одного из фреймов - ничего необычного.
unit Unit3;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TFrame3 = class(TFrame)
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
end.
Помимо фреймов на главной форме у меня есть некоторые другие элементы. И почему-то если скроллить, то фреймы оказываются меньше, чем форма. Я сделал скриншот, посмотрите, пожалуйста. Красный - это фрейм. А серый - это форма. Почему форма торчит из под фрейма? Как сделать так, чтобы он (фрейм) ПОЛНОСТЬЮ перекрывал форму? И если информация на нем не помещается, то форму можно будет скроллить - чтобы посмотреть непоместившуюся информацию фрейма.