dll中的窗体为什么不能够显示出来?(50分)

  • 主题发起人 主题发起人 dsideal
  • 开始时间 开始时间
D

dsideal

Unregistered / Unconfirmed
GUEST, unregistred user!
我在应用程序里面静态调用系统鼠标钩子事件,要在鼠标钩子事件里面显示出一个窗体,描述当前鼠标所在窗口的一些属性。但是为什么我的窗体生成的时候就不动了呢?如果谁有相关例子代码请Mail:xuqiang@dsideal.com 我在鼠标钩子函数里的代码如下:

Case wParam of
WM_LBUTTONDBLCLK: //双击事件
begin
if not assigned(Frm_PDlg) then
Frm_PDlg := Frm_Dlg.Create(nil);
Frm_PDlg.Show;
end;
end;
 
偶太菜了,回答不了,关注中...
 
其实这个问题就是静态dll里窗体显示的问题,还请大家帮忙。
 
你好,你在uses 中加入forms,然后在将上面的语句: Frm_PDlg := Frm_Dlg.Create(nil);
换做:frm_pdlg:=frm_dlg.create(application)试一试!
 
你看一下WM_LBUTTONDBLCLK执行没有,据代码看来,好像不是Dll的原因!
 
StudyForever 的方法我已经试了,不可用。
 
PhoenixPower 我将LButton事件已经屏蔽了。现在问题是调试到 Frm_PDlg := Frm_Dlg.Create(nil);的时候程序就不执行下一条语句了,程序还没有死,但是鼠标消息是不触发了。。
 
在要显示的单元中设置一个过程
procedure showform()
var
frm_pdlg:Tfrm_pdlg
begin
frm_pdlg:=tfrm_dlg.create(application)
frm_pdlg,showmodal;
end;
在dll中输出showform调用。
在要调用该窗体时可直接调用showform函数
 
Case wParam of
WM_LBUTTONDBLCLK: //双击事件
begin
if not assigned(Frm_PDlg) then
Frm_PDlg := tFrm_Dlg.Create(nil);
Frm_PDlg.Show;
end;
end;
 
谢谢thstzy等大家的帮助,我的代码写错了。散分。。
 
后退
顶部