Delphi World - Каждую дочернюю форму заставить полностью заполнять область главной
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Каждую дочернюю форму заставить полностью заполнять область главной

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

unit Unit1;

 interface

 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

 type
   TMDIForm = class(TForm)
   private
     { Private declarations }
     FMainWindowClientCoordinates: TRect;
     procedure SetMainWindowClientCoordinates(const Value: TRect);
     procedure NewChild(Sender: TObject);
   public
     { Public declarations }
     // property used to read MainForm client coordinates 
    property MainWindowClientCoordinates: TRect
        read FMainWindowClientCoordinates write SetMainWindowClientCoordinates;
   end;

 var
   MDIForm: TMDIForm; // Main form, property "formStyle" has to be fsMdiForm 

implementation

 {$R *.DFM}

 uses
   Child; // Defines TMDIchild class, property "formStyle" has to be fsMdiChild 

procedure TMDIForm.SetMainWindowClientCoordinates(const Value: TRect);
 begin
   FMainWindowClientCoordinates := Value;
 end;

 procedure TMDIForm.SetMainWindowCoordinates(const Value: TRect);
 begin
   FMainWindowCoordinates := Value;
 end;

 procedure TMDIForm.FormShow(Sender: TObject);
 begin
   // Reads MDIForm client coordinates 
  Windows.GetClientRect(ClientHandle, fMainWindowClientCoordinates);
 end;

 procedure TMDIForm.NewChild(Sender: TObject);
 var
   LocalMDIChildForm: TMDIChildForm;
 begin
   // You can execute this procedure each time you 
  // create a new child, for example you can call this 
  // procedure from a button 
  LocalMDIChildForm := TMDIChildForm.Create(Self);
   with LocalMDIChildForm do
   begin
     Caption := 'Child Form: ' + IntToStr(MDIChildCount);
     Top     := MainWindowClientCoordinates.Top;
     Left    := MainWindowClientCoordinates.Left;
     Width   := MainWindowClientCoordinates.Right;
     Height  := MainWindowClientCoordinates.Bottom;
     Show;
   end; // with ... 
end;

 end.
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования