Delphi   发布时间:2022-04-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 为什么我的图标在带有TTrayIcon的托盘栏上很难看?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近在Delphi 2007中发现了TTrayIcon组件.使用的代码非常简单.
procedure TForm1.FormCreate(Sender: TObject);
begin
 AppTrayIcon := TTrayIcon.Create(nil);
 AppTrayIcon.onDblClick := OnAppTrayIconDblClick;
 Application.onMinimize := OnApplicationMinimize;
 Application.onRestore := OnApplicationRestore;
end;

procedure TForm1.onApplicationRestore(Sender: TObject);
begin
 AppTrayIcon.Visible := false;
 ShowWindow(Application.Handle,SW_SHOW);
 Application.bringToFront;
end;

procedure TForm1.onApplicationMinimize(Sender: TObject);
begin
 AppTrayIcon.Visible := True;
 ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TForm1.onAppTrayIconDblClick(Sender: TObject);
begin
 Application.Restore;
end;

由于没有分配图标,Delphi使用Application.Icon,即图标:http://artbyloveland.com/icon.ico此图标包括以下尺寸:64×64,48×48,32×32,24×24和16×16.

现在,在我的Windows Vista上,一切都很好.

在像Windows Server 2003这样的非主题Windows上,结果全部搞砸了:

编辑:
起初,我认为这是因为alpha通道.所以我尝试在不使用alpha通道的情况下制作ico文件的版本.我也按照Ken的建议尝试了GreenFish Icon Editor;我选择了每种颜色深度和每种尺寸.在这两种情况下,最终结果都更好.但是,ico文件中根本不存在黑色笔划.

解决方法

您声明您没有分配图标.在这种情况下,组件使用Application.Icon.但这通常是一个通知区域大小错误的图标.

对于通知区域,您需要使用尺寸由SM_CXSMICON系统指标确定的方形图标.获得它的最好方法是调用LoadImage,它允许您指定图标大小.将图标加载到HICON后,您可以写下:

AppTrayIcon.Icon.Handle := IconHandle;

大佬总结

以上是大佬教程为你收集整理的delphi – 为什么我的图标在带有TTrayIcon的托盘栏上很难看?全部内容,希望文章能够帮你解决delphi – 为什么我的图标在带有TTrayIcon的托盘栏上很难看?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。