请问关于:在panel上显示dll文件中 请问各位大鸟我怎么样才可以在主程序的一个form的panel上显示dll文件中的 form啊!顶者有分啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我没有用过Dll中的窗体,但我想和普通窗体也差不多吧!你设置它的Parent属性不可以吗?比如Form2.Parent:=Form1.Panel1; library Project2;uses SysUtils, Classes, Forms, WIndows;var FhPrevApp: HWND:{$R *.RES}procedure DllHandler(AReason: Longint);begin case AReason of DLL_PROCESS_ATTACH: FhPrevApp := Application.Handle; DLL_PROCESS_DETACH: Application.Handle := FhPrevApp; end;end;procedure CreateChild(AhApp: HWND; AhParent: HWND; AIndex: Integer); stdcall;var f: TForm;begin Application.Handle := AhApp; case AIndex of begin 0: begin f := TForm1.Create(Application); SetParent(f, AhParent); f.Show; end; 1: begin f := TForm2.Create(Application); SetParent(f.Handle, AhParent); f.Show; end; end;end;exports CreateChild;begin DllProc := @DllHanlder;end. type TCreateChild = procedure(AhApp: HWND; AhParent: HWND); stdcall;var Form1: TForm1; FPCreateChild :TCreateChild; gh:THandle;.......procedure TForm1.Button2Click(Sender: TObject);begin gh := LoadLibrary('project2.dll'); FPCreateChild := GetProcAddress(gh,'CreateChild'); FPCreateChild(Application.Handle, Panel1.Handle); FreeLibrary(gh);end; webbrowser1 设置socks5代理以后无法打开网页 Delphi 7 中如何使用 Crystal Report 9.2 文档已经整理出来了。 小问题:在dbgrid中如何使用datetimepicker控件? Query+DBGrid问题!!我都不知道为什么!! 请教一些关于窗口的问题 运行期添加控件的问题 Scrollbox的滚动条问题 高手请进!多层中(DCOM连接),直接启动客户端程序和先启动服务器端程序有何分别? 怎么处理这样的记录??? TTreeView显示地区资料,数据库应如何处理?具体怎么算? 数据库更新问题 广域网中两台数据库服务器传送数据的最佳解决方案?
比如Form2.Parent:=Form1.Panel1;
SysUtils,
Classes,
Forms,
WIndows;var
FhPrevApp: HWND:
{$R *.RES}
procedure DllHandler(AReason: Longint);
begin
case AReason of
DLL_PROCESS_ATTACH: FhPrevApp := Application.Handle;
DLL_PROCESS_DETACH: Application.Handle := FhPrevApp;
end;
end;procedure CreateChild(AhApp: HWND; AhParent: HWND; AIndex: Integer); stdcall;
var
f: TForm;
begin
Application.Handle := AhApp;
case AIndex of
begin
0:
begin
f := TForm1.Create(Application);
SetParent(f, AhParent);
f.Show;
end;
1:
begin
f := TForm2.Create(Application);
SetParent(f.Handle, AhParent);
f.Show;
end;
end;
end;exports
CreateChild;begin
DllProc := @DllHanlder;
end.
TCreateChild = procedure(AhApp: HWND; AhParent: HWND); stdcall;var
Form1: TForm1;
FPCreateChild :TCreateChild;
gh:THandle;
.......procedure TForm1.Button2Click(Sender: TObject);
begin
gh := LoadLibrary('project2.dll');
FPCreateChild := GetProcAddress(gh,'CreateChild');
FPCreateChild(Application.Handle, Panel1.Handle);
FreeLibrary(gh);
end;