使用DLL文件中封装的窗口
使用DLL文件中封装的窗口
文章摘要:
编写软件时常常使用到DLL文件,本文就使用DLL文件中封装的窗口来说说Delphi中在DLL如何封装窗口,如何调用DLL中封装的窗口,及MDI-Child在DLL中载入并使用
一、在DLL中封装窗口
打开Delphi新建一个DLL工程,保存为usedll,生成代码
library usedll; { Important note about DLL memory management: ShareMem must be the uses {$R *.res} begin |
新建一个窗体,添加一个Label和Button,设置如下:
object Form1: TForm1 Left = 192 Top = 133 Width = 334 Height = 221 Caption = DLL#20013#20351#29992#31383#20307 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = MS Sans Serif Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 104 Top = 80 Width = 80 Height = 13 Caption = DLL#20013#20351#29992#31383#20307 end object Button1: TButton Left = 120 Top = 152 Width = 75 Height = 25 Caption = #30830#23450 TabOrder = 0 OnClick = Button1Click end end |
添加一过程:procedure LoadForm; export;
procedure LoadForm;
begin
Form1 := TForm1.Create(Application);
try
Form1.ShowModal;
finally
Form1.Free;
end;
end;
全部完整的代码:
library usedll; uses {$R *.res} end. |
unit Form_Unit; inte易做图ce uses type var implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); end. |
编译后生成usedll.dll文件,至此DLL文件就完成了
二、调用DLL中封装的窗口
新建一个工程,添加一个Button,窗体布局如下:
object Form1: TForm1 Left = 192 Top = 133 Width = 336 Height = 222 Caption = Form1 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = MS Sans Serif Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 128 Top = 88 Width = 75 Height = 25 Caption = #25171#24320#31383#20307 TabOrder = 0 OnClick = Button1Click end end |
完整的代码如下:
unit Use_Unit; inte易做图ce uses var {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); end. |
三、MDI-Child在DLL中载入并使用
如果是MDI-Child又如何在DLL中载入并使用呢,下面就这个问题说说使用DLL文件中封装的窗口。
新建一个DLL工程,保存为mdidll,再新建一个窗体,FormStyle设为fsMDIChild,如下:
object Form1: TForm1
Left = 192
Top = 133
Width = 344
Height = 234
Caption = MDI
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = MS Sans Serif
Font.Style = []
FormStyle = fsMDIChild
OldCreateOrder = False
Position = poDefault
Visible = True
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
end
代码如下:
unit mdi_Unit; inte易做图ce uses type var {$R *.dfm} procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); end. |
library mdidll; uses procedure LoadChild(ParentApplication: TApplication; ParentForm: TForm); export; stdcall; begin procedure DLLUnloadProc(Reason: Integer); register; {$R *.res} |
编译后生成mdidll.dll文件。
使用DLL中的MDI-Child窗口如下:
新建一个工程,主窗口设置如下FormStyle设为fsMDIForm:
object Form1: TForm1
Left = 192
Top = 133
Width = 544
Height = 375
Caption = Form1
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = MS Sans Serif
Font.Style = []
FormStyle = fsMDIForm
Menu = MainMenu1
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object MainMenu1: TMainMenu
Left = 72
Top = 136
object N1: TMenuItem
Caption = #26032#24314(&N)
OnClick = N1Click
end
end
end
代码:
unit usemdi_Unit; inte易做图ce uses 补充:软件开发 , Delphi ,
访问www.zzzyk.com 试试 CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络, |