如何在dll中创建窗口?我想在dll被调用的时候立刻出现一个窗口,该窗口是包含在dll中的
解决方案 »
- Delphi 7 ListView如何响应鼠标右键?
- -->如何将imagelist中的图标附给image控件显示出来呢?
- 如何判断一个Edit只能输入数字和回车、退格键?
- RecordCount 为什么是-1??
- 請教高手,安裝OCX問題,今天下了Formula one 6试用版,装不上
- 调用TFileStream.Write(lpData, 1024), 其中lpData的类型为PChar, 为什么调用后返回值总是0?
- 如何判断打印机已经打印完成?
- 请问各位大侠在连接sql server数据库时如何屏蔽掉验证窗口
- 如何取字符串
- 如何把程序在windows窗口最底下的任务栏隐去?
- 怎样启动密码窗体?
- 如何将字符变量转为枚举型
例如
unit aboutunit;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;type
Taboutform = class(TForm)
Panel1: TPanel;
Bevel1: TBevel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
aboutform: Taboutform;
function showform(title:string;version:string):boolean;stdcall;implementation{$R *.DFM}
function showform(title:string;version:string):boolean;
var
aboutform:Taboutform;
begin
......
result:=false;
aboutform:=taboutform.Create(application);
aboutform.show;
......
end;
还可以写其他语句然后编译,在调用时用那个函数就可以了
Function Openform1(Handle:THandle;Parent:TWinControl;):Longint;
begin
Result:=-1;
if Not Assigned(form1) then
begin
try
Application.Handle:=Handle;
form1:=form1.Create(Application);
Windows.SetParent(form1.Handle,Parent.Handle);
form1.Show;
Result:=Longint(form1);
except
end;
end
end;exports
Openform1;
begin
end.相应的在exe里也调用该函数,就ok了,exe里的代码你应该会写吧。
我一直用这种方法,肯定没问题的。
3楼的,那个form1的类的申明在哪里?
在library的proj里增加一个unit包含form1
然后uses unit1
对吧?