![]() |
![]() ![]() ![]() ![]() |
|
Каждую дочернюю форму заставить полностью заполнять область главнойDelphi , Программа и Интерфейс , MDI приложенияКаждую дочернюю форму заставить полностью заполнять область главной
Оформил: DeeCo
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 с формой MDI (Multiple Document Interface), где основная форма (MDIForm) может создавать и управлять множеством дочерних форм (TMDIChildForm). Цель этого кода - обеспечить, чтобы каждая дочерняя форма полностью занимала клиентскую область родительской формы. Расшифровка кода:
Чтобы достичь цели полного занятия клиентской областью родительской формы для каждой дочерней формы, вы можете модифицировать процедуру Используя Заметка: константа В статье описывается пример создания интерфейса Multiple Document Interface (MDI) в Delphi, где каждая дочерняя форма заполняет полный клиентский регион главной формы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: MDI приложения ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||