Add new components for MDI applications. Add demo MDI application

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2545 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2012-10-09 10:35:17 +00:00
parent faa98477d0
commit 33c7722b0e
23 changed files with 1638 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -0,0 +1,113 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<AutoCreateForms Value="False"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="5">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
<Unit2>
<Filename Value="unit2.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form2"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit2"/>
</Unit2>
<Unit3>
<Filename Value="unit3.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form3"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit3"/>
</Unit3>
<Unit4>
<Filename Value="unit4.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form4"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit4"/>
</Unit4>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerMessages>
<MsgFileName Value=""/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@@ -0,0 +1,20 @@
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit1, rxnew, Unit2, Unit3, Unit4;
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@@ -0,0 +1,208 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectSession>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="6">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<UsageCount Value="20"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="45"/>
<CursorPos X="26" Y="75"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="unit2.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form2"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit2"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="7"/>
<CursorPos X="6" Y="10"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit2>
<Unit3>
<Filename Value="../../rxmdi.pas"/>
<UnitName Value="RxMDI"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="294"/>
<CursorPos X="3" Y="298"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="unit3.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form3"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit3"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="9"/>
<CursorPos X="14" Y="37"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="unit4.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form4"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit4"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="12"/>
<CursorPos X="26" Y="41"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit5>
</Units>
<General>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="18" Column="27" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="20" Column="27" TopLine="1"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="21" Column="27" TopLine="1"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="22" Column="27" TopLine="1"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="27" TopLine="1"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="27" TopLine="1"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="27" TopLine="1"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="27" Column="27" TopLine="1"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="42" Column="9" TopLine="15"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="43" Column="9" TopLine="15"/>
</Position10>
<Position11>
<Filename Value="unit2.pas"/>
<Caret Line="24" Column="22" TopLine="1"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="44" Column="9" TopLine="15"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="46" Column="9" TopLine="15"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="53" Column="47" TopLine="24"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="54" Column="47" TopLine="25"/>
</Position15>
<Position16>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="47" TopLine="26"/>
</Position16>
<Position17>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="1" TopLine="28"/>
</Position17>
<Position18>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="1" TopLine="28"/>
</Position18>
<Position19>
<Filename Value="unit3.pas"/>
<Caret Line="19" Column="22" TopLine="1"/>
</Position19>
<Position20>
<Filename Value="unit3.pas"/>
<Caret Line="23" Column="22" TopLine="1"/>
</Position20>
<Position21>
<Filename Value="unit3.pas"/>
<Caret Line="26" Column="22" TopLine="1"/>
</Position21>
<Position22>
<Filename Value="unit1.pas"/>
<Caret Line="55" Column="1" TopLine="28"/>
</Position22>
<Position23>
<Filename Value="unit1.pas"/>
<Caret Line="57" Column="1" TopLine="29"/>
</Position23>
<Position24>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="47" TopLine="35"/>
</Position24>
<Position25>
<Filename Value="unit4.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position25>
<Position26>
<Filename Value="unit1.pas"/>
<Caret Line="63" Column="47" TopLine="36"/>
</Position26>
<Position27>
<Filename Value="unit1.pas"/>
<Caret Line="65" Column="26" TopLine="43"/>
</Position27>
<Position28>
<Filename Value="unit4.pas"/>
<Caret Line="22" Column="21" TopLine="4"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="73" Column="26" TopLine="43"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="26" TopLine="44"/>
</Position30>
</JumpHistory>
</ProjectSession>
<EditorMacros Count="0"/>
</CONFIG>

Binary file not shown.

View File

@@ -0,0 +1,129 @@
object Form1: TForm1
Left = 527
Height = 423
Top = 222
Width = 581
Caption = 'MainForm'
ClientHeight = 400
ClientWidth = 581
Menu = MainMenu1
Position = poScreenCenter
LCLVersion = '1.1'
WindowState = wsMaximized
object ToolPanel1: TToolPanel
Left = 0
Height = 31
Top = 0
Width = 581
Items = <>
Options = []
Align = alTop
BorderWidth = 4
ClientHeight = 31
ClientWidth = 581
TabOrder = 0
object RxMDICloseButton1: TRxMDICloseButton
AnchorSideTop.Control = ToolPanel1
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ToolPanel1
AnchorSideRight.Side = asrBottom
Left = 553
Height = 22
Top = 4
Width = 23
Anchors = [akTop, akRight]
Glyph.Data = {
1A020000424D1A0200000000000036000000280000000B0000000B0000000100
200000000000E401000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FF0000
00FF00000000000000000000000000000000000000FF000000FF000000000000
00000000000000000000000000FF000000FF0000000000000000000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF00000000000000000000000000000000000000000000
00000000000000000000000000FF000000FF0000000000000000000000000000
000000000000000000000000000000000000000000FF000000FF000000FF0000
00FF000000000000000000000000000000000000000000000000000000FF0000
00FF0000000000000000000000FF000000FF0000000000000000000000000000
0000000000FF000000FF00000000000000000000000000000000000000FF0000
00FF000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
}
end
end
object RxMDITasks1: TRxMDITasks
Left = 0
Height = 25
Top = 356
Width = 581
Align = alBottom
end
object StatusBar1: TStatusBar
Left = 0
Height = 19
Top = 381
Width = 581
Panels = <>
end
object RxMDIPanel1: TRxMDIPanel
Left = 0
Height = 325
Top = 31
Width = 581
CloseButton = RxMDICloseButton1
TaskPanel = RxMDITasks1
Align = alClient
BevelOuter = bvLowered
end
object ActionList1: TActionList
left = 440
top = 72
object sysClose: TAction
Category = 'System'
Caption = 'Close'
OnExecute = sysCloseExecute
end
object Action1: TAction
Category = 'MDI forms'
Caption = 'Form # 1'
OnExecute = Action1Execute
end
object Action2: TAction
Category = 'MDI forms'
Caption = 'Form # 2'
OnExecute = Action2Execute
end
object Action3: TAction
Category = 'MDI forms'
Caption = 'New single MDI form'
OnExecute = Action3Execute
end
end
object MainMenu1: TMainMenu
left = 408
top = 72
object MenuItem1: TMenuItem
Caption = 'System'
object MenuItem2: TMenuItem
Action = sysClose
end
end
object MenuItem3: TMenuItem
Caption = 'MDI forms'
object MenuItem4: TMenuItem
Action = Action1
end
object MenuItem5: TMenuItem
Action = Action2
end
object MenuItem7: TMenuItem
Caption = '-'
end
object MenuItem6: TMenuItem
Action = Action3
end
end
end
end

View File

@@ -0,0 +1,79 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxtoolbar, RxMDI, Forms, Controls, Graphics,
Dialogs, ActnList, Menus, ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Action1: TAction;
Action2: TAction;
Action3: TAction;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
sysClose: TAction;
ActionList1: TActionList;
MainMenu1: TMainMenu;
RxMDICloseButton1: TRxMDICloseButton;
RxMDIPanel1: TRxMDIPanel;
RxMDITasks1: TRxMDITasks;
StatusBar1: TStatusBar;
ToolPanel1: TToolPanel;
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure sysCloseExecute(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4;
{$R *.lfm}
{ TForm1 }
procedure TForm1.sysCloseExecute(Sender: TObject);
begin
Close;
end;
procedure TForm1.Action1Execute(Sender: TObject);
begin
RxMDIPanel1.ChildWindowsCreate(Form2, TForm2);
end;
procedure TForm1.Action2Execute(Sender: TObject);
begin
RxMDIPanel1.ChildWindowsCreate(Form3, TForm3);
end;
procedure TForm1.Action3Execute(Sender: TObject);
var
Form4: TForm4;
begin
Form4:=TForm4.Create(Application);
RxMDIPanel1.ChildWindowsAdd(Form4);
end;
end.

View File

@@ -0,0 +1,59 @@
object Form2: TForm2
Left = 502
Height = 240
Top = 245
Width = 320
Caption = 'MDI form 1'
ClientHeight = 240
ClientWidth = 320
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000BE7A45FFBE7A
45FFBE7A45FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000BE7A45FFBE7A45FF78553958BE7A45FFE3CD
BCFFBE7A45FF78553958BE7A45FFBE7A45FF0000000000000000000000000000
00000000000000000000BE7A45FFE3CDBCFFD2A786FFBE7A45FFC79064FFDAB8
9DFFC79064FFBE7A45FFD2A786FFE3CDBCFFBE7A45FF00000000000000000000
00000000000000000000BE7A45FFD2A786FFDAB89DFFDAB89DFFDAB89DFFDAB8
9DFFDAB89DFFDAB89DFFDAB89DFFD2A786FFBE7A45FF00000000000000000000
0000000000000000000078553958BE7A45FFE3CDBCFFCFA17CFFBD7F4CF8C386
56FFBA7A46F4D5AE8FFFDAB89DFFBE7A45FF7855395800000000000000000000
000000000000BE7A45FFBE7A45FFC79064FFDAB89DFFBD7F4CF8B78256CD7855
3959A56F43C0BA7A46F4DAB89DFFC79064FFBE7A45FFBE7A45FF000000000000
000000000000BE7A45FFE3CDBCFFDAB89DFFDAB89DFFC38656FF785539590000
000078553959C38656FFDAB89DFFDAB89DFFE3CDBCFFBE7A45FF000000000000
000000000000BE7A45FFBE7A45FFC79064FFDAB89DFFBA7A46F49C6B42AE7855
39598F633F97BA7C49EEDAB89DFFC79064FFBE7A45FFBE7A45FF000000000000
0000000000000000000078553958BE7A45FFDAB89DFFCFA17CFFBA7A46F4C386
56FFBA7A46F4D1A582FFDAB89DFFBE7A45FF7855395800000000000000000000
00000000000000000000BE7A45FFD2A786FFDAB89DFFDAB89DFFDAB89DFFDAB8
9DFFDAB89DFFDAB89DFFDAB89DFFD2A786FFBE7A45FF00000000000000000000
00000000000000000000BE7A45FFE3CDBCFFD2A786FFBE7A45FFC79064FFDAB8
9DFFC79064FFBE7A45FFD2A786FFE3CDBCFFBE7A45FF00000000000000000000
0000000000000000000078553958BE7A45FFBE7A45FF78553958BE7A45FFE3CD
BCFFBE7A45FF78553958BE7A45FFBE7A45FF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000BE7A45FFBE7A
45FFBE7A45FF0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 320
Align = alTop
Caption = 'MDI form # 1'
TabOrder = 0
end
end

View File

@@ -0,0 +1,39 @@
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2 = nil;
implementation
{$R *.lfm}
{ TForm2 }
procedure TForm2.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
Form2:=nil;
end;
end.

View File

@@ -0,0 +1,70 @@
object Form3: TForm3
Left = 604
Height = 442
Top = 239
Width = 640
Caption = 'MDI form # 2'
ClientHeight = 442
ClientWidth = 640
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000E2C0AAFFE2C0AAFF000000000000
00000000000000000000E2C0AAFFE2C0AAFF0000000000000000000000000000
0000000000000000000000000000C8865BFFBE713FFFC58053FF000000000000
00000000000000000000CE946EFFBE703EFFC17746FF00000000000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
00000000000000000000D6A586FFC2794AFFCA8A61FF00000000000000000000
0000000000000000000000000000D39E7CFFC2794AFFCC9068FF000000000000
00000000000000000000C9885EFFC07443FFC27849FF00000000000000000000
0000000000000000000000000000C9885EFFC2794AFFC9885EFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000BD6E3BFFBD6E3BFFE2C0AAFF000000000000
0000000000000000000000000000D4A17FFFBD6F3CFFBE703DFF000000000000
00000000000000000000C68155FFBF7241FFCC8D66FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 640
Align = alTop
Caption = 'MDI form # 2'
TabOrder = 0
end
object Memo1: TMemo
Left = 0
Height = 392
Top = 50
Width = 640
Align = alClient
Lines.Strings = (
'Memo1'
)
TabOrder = 1
end
end

View File

@@ -0,0 +1,41 @@
unit Unit3;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls;
type
{ TForm3 }
TForm3 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
private
{ private declarations }
public
{ public declarations }
end;
var
Form3: TForm3 = nil;
implementation
{$R *.lfm}
{ TForm3 }
procedure TForm3.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
Form3:=nil;
end;
end.

View File

@@ -0,0 +1,60 @@
object Form4: TForm4
Left = 477
Height = 446
Top = 196
Width = 620
Caption = 'Form4'
ClientHeight = 446
ClientWidth = 620
Icon.Data = {
7E04000000000100010010100000010020006804000016000000280000001000
0000200000000100200000000000000400006400000064000000000000000000
0000874A2056874A20FF874A20FF874A20FF874A204400000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000874A20FFBEA592FFB89C86FFB89C86FF874A20FF874A2044000000000000
0000000000000000000000000000858A8881858A88D3858A8881000000000000
0000874A20FFCCBBADFFA7917DFFB5957AFFAE8B72FF874A20FF874A20440000
00000000000000000000858A884C858A88FF9EA1A0FF858A88FF000000000000
0000874A20FFCCBBADFFA48D78FFA28A74FFB4957AFFB3937CFF874A20FF0000
000000000000858A884C858A88FFD2D3D4FFC2C3C4FF858A88FF000000000000
0000874A2030874A20FFD4C8BDFFA48D78FFA48D78FFBEA592FF874A20FF0000
0000858A884C858A88FFE2E3E4FFC2C4C6FF858A88FF858A8881000000000000
000000000000874A2019874A20FFCCBBADFFCCBBADFFB3937CFF874A20FF858A
8881858A88FFD3D3D4FFBDBEBFFF858A88FF858A884C00000002000000000000
00000000000000000000874A2019874A20FF874A20FF874A20FF85837DFFAAAD
ADFFC8C9CAFFBDBEBFFF858A88FF858A884C0000000000000000000000000000
0000000000000000000000000000000000000000000000000000B5B7B8FF858A
88FFB7B8B9FF858A88FF858A884C000000020000000000000000000000000000
000000000000858A884C858A88FF858A88FF858A88FF858A88FFD0D1D2FFA3A4
A4FF858A88FF858A888100000000000000000000000000000000000000000000
0000858A884C858A88FFF3F3F3FEEFF0F0FFEDEEEEFEEAECECFEB6B9BAFF858A
88FF858A884C858A88FF858A884C000000000000000000000000000000000000
0000858A88FFF5F6F6FEA9ACABFF858A88FFF7F7F7FFE2E3E5FFAAADADFFECEE
EE8100000000858A884C858A88FF858A884C0000000000000000000000000000
0000858A884C858A88FF00000000858A884C858A88FFFAFAFAFF858A88FF0000
00000000000000000000858A884C858A88FF878C8AFF0000004C000000000000
000000000000000000000000000000000000858A88FFEEF0F0FF858A88FF0000
0000000000000000000000000000858A88FFF0F0F0FF858A88FF0000004C0000
0000000000000000000000000000858A88FFE9EBECFF858A88FF858A884C0000
00000000000000000000000000000000004C858A88FFEEEFEFFC858A88FF0000
0000000000000000000000000000858A884C858A88FF858A884C000000000000
0000000000000000000000000000000000000000004C858A88FF858A884C0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
OnClose = FormClose
OnCreate = FormCreate
LCLVersion = '1.1'
object Panel1: TPanel
Left = 0
Height = 50
Top = 0
Width = 620
Align = alTop
Caption = 'MDI form # ...'
TabOrder = 0
end
end

View File

@@ -0,0 +1,45 @@
unit Unit4;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls;
type
{ TForm4 }
TForm4 = class(TForm)
Panel1: TPanel;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
CntMM:integer = 0;
implementation
{$R *.lfm}
{ TForm4 }
procedure TForm4.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
CloseAction:=caFree;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
Inc(CntMM);
Panel1.Caption:=Panel1.Caption + IntToStr(CntMM);
Caption:=Panel1.Caption;
end;
end.