每打开一个DLL中的窗体,就会在任务栏产生一个图标,而且图标和主窗体的不一样,怎么隐藏,或者是改变图标? 每打开一个DLL中的窗体,就会在任务栏产生一个图标,而且图标和主窗体的不一样,怎么隐藏,或者是改变图标? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DLL中的窗体的父窗体的句柄设定为Application.Handle,这需要作为参数传递。如果那个DLL是delphi写的就比较容易做到,CreateForm的时候,用Applicaton创建窗体的方式,参考他的源代码,就写得出来了。 来晚了,楼上的正确,不过如过是动态调用DLL中的窗体,那么应该在DLL里面的窗体SHOWMODAL之后,将dll的Application.handle := 0 ,这样使用完之后才不会出错 确实来晚了,创建DLL的窗体的时候用Application作为参数 每打开一个DLL中的窗体,就会在任务栏产生一个图标,而且图标和主窗体的不一样,怎么隐藏,或者是改变图标? 以下是代码,麻烦老兄帮忙看看,该在哪里改写,万分感谢DLL=============library IEBrowserHelper;uses ComServ, _IEBrowserHelper in '_IEBrowserHelper.pas'; exports DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer;beginend.=======================以下就是那个被显示出来的form=====================unit IehelperForm;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type THelperForm = class(TForm) Memo1: TMemo; Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;implementation{$R *.DFM}uses _IEBrowserHelper;procedure THelperForm.Button1Click(Sender: TObject);var X: OleVariant;begin IE.Navigate(Edit1.Text, X, X, X, X);end;end. library IEBrowserHelper;uses ComServ, _IEBrowserHelper in '_IEBrowserHelper.pas';procedure ShowForm(AHandle:THandle);StdCall; //在DLL单元声明显示窗体的函数begin HelperForm := THelperForm.Create(Application); HelperForm.ShowModal; HelperForm.Free;end; exports DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer, ShowForm name 'ShowForm';//加上这句beginend. 看看这里:http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=1022 你在创建窗体时,传进一个参数为TApplication类型(ParentApplication),然后再窗体的创建中把这个参数赋给Application,如:function createform (ParentAPplication : Tapplication) : LongINt;begin Application := parentApplication; with Tfrom.create(Application) do ShowModal;end; SetWindowLong(Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW); jxc163(一水寒) 的答案就能解决你的问题,就不在帖代码了 delphi dbgrid 相关问题 关于数据保存的问题 ! 为什么我的自定义函数都不能用 函数返回体 messagebox问题 程序中得到一个字符串'clRed',想传给Font.Color,不知该怎么作? 怎样实现从数据库查询图片显示到form中? 请问各位大侠,关于表单返回值的问题? modem兼容性问题(在线等候)。。。。。。 郑重发问,《程序员大本营》里的InterBase6.0是否正常可用版?(20分) 如何禁止程序的第2实例启动? 如何向inifile中写入注释?
DLL
=============
library IEBrowserHelper;
uses
ComServ,
_IEBrowserHelper in '_IEBrowserHelper.pas';
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
begin
end.
=======================
以下就是那个被显示出来的form
=====================
unit IehelperForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
THelperForm = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.DFM}
uses _IEBrowserHelper;
procedure THelperForm.Button1Click(Sender: TObject);
var
X: OleVariant;
begin
IE.Navigate(Edit1.Text, X, X, X, X);
end;
end.
uses
ComServ,
_IEBrowserHelper in '_IEBrowserHelper.pas';procedure ShowForm(AHandle:THandle);StdCall; //在DLL单元声明显示窗体的函数
begin
HelperForm := THelperForm.Create(Application);
HelperForm.ShowModal;
HelperForm.Free;
end;
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer,
ShowForm name 'ShowForm';//加上这句
begin
end.
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=1022
function createform (ParentAPplication : Tapplication) : LongINt;
begin
Application := parentApplication;
with Tfrom.create(Application) do
ShowModal;
end;