6

我在德尔福 10.4。

我正在寻找一种在任务栏上的应用程序图标上动态插入数字的方法,这样用户就可以知道应用程序到目前为止已经完成了多少任务。这将是动态的,一旦应用程序执行新任务,它就会增加图标的数量。

如下图所示。

这可能吗 ?

我没有任何代码可以在这里发布,因为我不知道如何做到这一点。

在此处输入图像描述

4

1 回答 1

11

您可能不知道任务栏配置组件及其属性。TTaskbar OverlayIcon

例子:

带有任务栏图标覆盖的应用程序的屏幕录制。

有一个非常简单的实现:

procedure TForm1.btnInfoClick(Sender: TObject);
var
  io: TIcon;
begin
  io := TIcon.Create;
  try
    io.Handle := LoadIcon(0, IDI_INFORMATION);
    Taskbar1.OverlayIcon := io
  finally
    io.Free;
  end;
end;

在您的情况下,您可以以非编程方式创建图标1.png, , ... 并使用它们,或者您可以以编程方式创建图标(创建一个函数)。2.pngCreateOverlayIcon(ANumber: Integer): TIcon

但是,我应该警告您,该TTaskbar组件曾经(非常)有问题。因此我不会使用那个;相反,我会ITaskbarList3::SetOverlayIcon直接使用 API。

无论如何,我的建议是将您的问题分为两部分:

  1. 创建覆盖图标。
  2. 使用 Windows 7 任务栏覆盖图标功能将这些图标显示在原始图标之上。
于 2020-12-29T20:44:06.583 回答