如何使用从Delphi DLL加载的窗体的应用程序图标

布雷龙汀

我有多个用Delphi创建的Windows主机应用程序和一个DLL。DLL包含一些按需显示的(模态)对话框形式。我已经将Forms.Application.Handle当前运行的主机应用程序传递给DLL,以获得正确的Windows所有权。不幸的是,从DLL创建的对话框仍然显示通用图标,而不是像直接在主机应用程序中创建的对话框那样使用主应用程序图标。

如何tForm从DLL中打开基于对话框的对话框,以使用主机可执行文件中的当前应用程序图标而不是通用Windows图标?

布雷龙汀

显然,可以通过将Forms.Application.Icon.Handle句柄值传递给库并将其分配给该库中的tApplication实例,来将宿主应用程序图标处理到DLL

虚拟库代码:

procedure MyLib_SetAppIcon( Icon : hIcon ); stdcall;
begin
   if (Icon > 0) then
      Forms.Application.Icon.Handle := Icon;
end;

虚拟主机代码:

procedure MyLib_SetAppIcon( Icon : hIcon ); stdcall; external 'MyLib.dll';

// ...
MyLib_SetAppIcon(Forms.Application.Icon.Handle);
// ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Linux上运行的Java应用程序加载本机库(.dll)?

Delphi在运行应用程序时更改主窗体

如何更改Cordova应用程序图标?

使用JavaScript通知应用程序图标

使用Windows窗体应用程序保存和加载用户在C#中添加的列表框项目

如何在Windows窗体应用程序中正确将窗体停靠到MDI的窗体?

使用Xlib获取应用程序的图标?

加载应用程序并且出现启动器图标时,不使用在.desktop文件中分配的图标

Delphi-在主窗体上停止应用程序创建

如何获得MSI(使用InstallShield)从应用程序安装目录加载Microsoft.Deployment.WindowsInstaller dll?

使用应用程序图标向上导航

如何使我的应用程序加载正确的d3d9 * dll

如何根据应用程序正在运行的系统加载不同的本机库(dll,因此)

如何设置/更改应用程序图标?

Delphi:如何使用Windows API“ SendMessage”从DLL向应用程序发送变体数组?

如何在C#中从Windows窗体应用程序项目设置.dll文件的路径?

发布Windows窗体应用程序如何更改安装路径

如何在gridView中更快地加载应用程序的图像(图标)?

DLL加载失败-不是有效的Win32应用程序-使用NumPy

如何使用Delphi构建桌面胶合应用程序?

如何更改Xcode应用程序图标?

如何删除这些应用程序图标?

如何使用 PyGObject 为整个应用程序设置图标

如何获取应用程序图标?

如何使用图标更改“显示应用程序”徽标?

如何更改 OpenCPU 应用程序的图标?

如何使用“require”重用应用程序图标图像?

在 Delphi 应用程序中使用 HDF5 dll

如何使用 nano react 应用程序更改网站图标?