![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MDI [D5, WinXP]
liver © (2004-12-10 16:26:00)вот елаю приложеине MDI. С главной формой все понятно, а вот с дочерними, не очень. когда я её максимизирую, то обратно вернуть ей нормальное состояние никак, только через другой контрол.выходит надо сделать тулбар на котором будут кнопки 3 (минимизировать, максимизир, закрыть)которые будут применяться к активной чилд форме ??? или ???
mefisto (2004-12-10 17:06:00) [1]Каждую дочернюю форму заставить полностью заполнять область главной
--------------------------------------------------------------------------------
Оформил: 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.
liver (2004-12-10 17:05:00) [2]спасибо :) будем тестить :)
ламер (2004-12-10 16:30:00) [3]надо просто добавить на главную форму TMainMenu.