23.07.2006, 22:33
общий
это ответ
Здравствуйте, -=4G=-!
Если Вы заметили,в случае максимизации окна, то в том же Делфи, это окно разворачивыается на весь экран. Внизу код, который не позволяет дочерней форме разворачиваться на всю высоту экрана (насчет ширины думаю разберетесь сами).
Удачи!
Приложение:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation uses unit2;{$R *.dfm}procedure TForm1.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer);begin// устанавливаем для главного окна константы размеров MinWidth := 0; MinHeight := 100; MaxWidth := Screen.Width+5; MaxHeight := 100;end;procedure TForm1.Button1Click(Sender: TObject);begin // Создаем окно Application.CreateForm(TForm2, Form2); Form2.Visible := True;end;end.-----------------------------------------------------------------------------unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm2 = class(TForm) procedure FormResize(Sender: TObject); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation uses Unit1;{$R *.dfm}procedure TForm2.FormResize(Sender: TObject);begin // указываем верхнюю позицию окна self.Top := Form1.Top + Form1.Height;end;procedure TForm2.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer);begin // Максимально разрешенная высота окна MaxHeight := Screen.Height - (Form1.Top + Form1.Height+30);end;end.