要如何按下主窗体时, dll 窗体显示在主窗体之上? 同时在按下dll窗体时, 主窗体显示在dll之下?(25分)

  • 主题发起人 主题发起人 lordofbinladen
  • 开始时间 开始时间
L

lordofbinladen

Unregistered / Unconfirmed
GUEST, unregistred user!
在主窗体打开一dll 窗体后, 在任务栏将出现两个窗体。
要如何按下主窗体时, dll 窗体显示在主窗体之上? 同时在按下dll窗体时, 主窗体显示在dll之下?
 
设置FormStyle:=fsNormal
 
在Click事件里Show出来。
 
你要在Dll中的From show之前,把主程序的Application.Handle 赋值给Dll 的Application.Handle。在Dll Free之前恢复原来Dll的Application.handle.
 
哪位大侠可详细的介绍一下!
 
delphi里面有screen对象,用该对象的desktop,deskleft的值做参照物来改变form的top,left.就可以了。
 
传入DLL函数中把调用者的句柄传入即可!DLL窗口创建基于调用者的句柄
我试过!
 
主程序的Application.Handle 该如何赋值给Dll?
帮帮忙, 可否给个实例?
 
procedure TestDll(h:Thandle);stdcall;<<此处传入应用程序句柄
begin
.....
f1.formhandle:=h;<<f1是你的非模态窗体
f1.show;
end;
 
function fDllLogin(h:Thandle): retValue; stdcall;
begin
frmDLLLogin := TfrmLogin.Create(Application);
try
frmDLLLogin.formHandle:=h; <-- Error : Undeclared identifier 'formHandle'
frmDLLLogin.ShowModal;
result := rValue;
finally
frmDLLLogin.Free;
end;
end;
 
后退
顶部