Каждую дочернюю форму заставить полностью заполнять область главной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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: MDI приложения ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |