- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近在 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此图标包括以下尺寸:64x64、48x48、32x32、24x24 和 16x16。
现在,在我的 Windows Vista 上,一切都很好。
在像 Windows Server 2003 这样的非主题 Windows 上,结果完全搞砸了:
编辑:起初,我以为是阿尔法 channel 的原因。所以我尝试制作一个不使用 alpha channel 的 ico 文件版本。我还按照 Ken 的建议尝试了 GreenFish Icon Editor;我选择了每种颜色深度和每种可用尺寸。在这两种情况下,最终结果都更好。但是,有一个黑色笔划在 ico 文件中根本不存在。
最佳答案
您声明您没有分配图标。在这种情况下,组件使用 Application.Icon
。但这通常是一个与通知区域尺寸不合适的图标。
对于通知区域,您需要使用方形图标,其大小由 SM_CXSMICON
系统指标确定。获得此效果的最佳方法是调用 LoadImage,它允许您指定图标大小。将图标加载到 HICON
后,您可以编写以下内容:
AppTrayIcon.Icon.Handle := IconHandle;
关于delphi - 为什么我的图标在带有 TTrayIcon 的托盘栏上很难看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606477/
我想更改气球中的图标。 TrayIcon1.BalloonFlags := bfWarning; 这种类型只能选择四种图标。 我想把你自己的图标。 帮我.. 最佳答案 此控件是 Win32 API S
我最近在 Delphi 2007 中发现了 TTrayIcon 组件。使用的代码非常简单。 procedure TForm1.FormCreate(Sender: TObject); begin A
是否可以在运行时将图像从 TImageList 加载到 TTrayIcon 中?怎么样?这是个好主意吗?或者是否有更优选的方法在运行时更改托盘图标的图像? 最佳答案 在带有 Lazarus 0.9.3
我的应用程序在这种模式下工作:在开始时读取带有用户设置的 INI,然后它将显示为普通窗口或最小化到托盘图标。如果用户选择启动应用程序最小化到托盘图标,则启动时用户将看不到主窗口和任务栏图标,而只能看到
我是一名优秀的程序员,十分优秀!