dll中showmodal窗体问题 ( 积分: 100 )

  • 主题发起人 主题发起人 薛磊磊
  • 开始时间 开始时间

薛磊磊

Unregistered / Unconfirmed
GUEST, unregistred user!
主程序的exe每次调用dll都会把handle传给它 我用MDI 都可以~
但某个窗体showmodal的话,它和MDI有冲突 所以任务栏出现了两个程序的图标!!
当我把showmodal的窗体改成bsToolWindow时,任务栏一个图标算正常了~但切换一下后再回来就看不到showmodal的窗体了!! 希望大侠们帮帮忙~给我出个办法把这个showmodal窗体的焦点聚回来!!!!! [:(]
 
主程序的exe每次调用dll把主exe的application和screen都要传过去
dll加载时要保存自己的application 并在释放时恢复它
以前的老贴这方面说的很多了
 
to:Avalon
恕我愚昧~~我还是定在了自己的思想中!你说的我感觉我都做了 其他都好得 调用DLL中MDI子窗体都正常~ 唯有showmodal不行~望Avalon能给点例子~~跪谢!!![:D]
 
哦,和我的问题一样哦.
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3666033
我把Screen和Application都传进去了还是不行的.
再切换回来,窗体总是被挡住.
能否给出具体的代码?
 
不要沉啊~~大侠们帮帮我啊~555555555555555555555555555555[:(][:(][:(]
 
function ShowTJForm(AHandle:THandle):boolean;stdcall;
var
ffrmXDepicttemplet:TfrmXDepicttemplet;
OldApplication : TApplication;
begin
OldApplication := TApplication.Create(Application);
OldApplication.Handle := Application.Handle;
Application.Handle:=AHandle;
ffrmXDepicttemplet:=TfrmXDepicttemplet.Create(nil);
try
ffrmXDepicttemplet.ShowModal;
finally
ffrmXDepicttemplet.Free;
Application.Handle := OldApplication.Handle;
end;
end;
 
我写了一个例子
大概是先打开MDI窗体 在这个MDI子窗体上再打开一个模态窗体

因为楼主的原意我不是很理解
所以请楼主发个邮箱地址 我把代码传给你 看看是不是已经解决
如果不能解决再想想办法 OK?
 
to:Avalon
不好意思,刚才出去了会~谢谢你的帮助
我的邮箱:xueleilei@yeah.net 好使我就发分了
 
to:liuying1129
你的方法我用了 但是不行~可能我哪里还没弄清楚~希望你能再讲的详细点!谢谢.
 
to:Avalon
你的实例很好~是我要问的问题,给分了!!!
麻烦你把代码发份给我!谢谢!!!
 
接受答案了.
 
代码以发送 长时间未收到请回复电子邮件
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
944
DelphiTeacher的专栏
D
D
回复
0
查看
882
DelphiTeacher的专栏
D
后退
顶部