delphi – 为什么我的图标在带有TTrayIcon的托盘栏上很难看?
发布时间:2020-12-15 03:55:49 所属栏目:大数据 来源:网络整理
导读:我最近在Delphi 2007中发现了TTrayIcon组件.使用的代码非常简单. procedure TForm1.FormCreate(Sender: TObject);begin AppTrayIcon := TTrayIcon.Create(nil); AppTrayIcon.OnDblClick := OnAppTrayIconDblClick; Application.OnMinimize := OnApplicationM
我最近在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上,结果全部搞砸了: 编辑: 解决方法
您声明您没有分配图标.在这种情况下,组件使用Application.Icon.但这通常是一个通知区域大小错误的图标.
对于通知区域,您需要使用尺寸由SM_CXSMICON系统指标确定的方形图标.获得它的最好方法是调用LoadImage,它允许您指定图标大小.将图标加载到HICON后,您可以写下: AppTrayIcon.Icon.Handle := IconHandle; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |