Windows 7のプログラミング:タスクバー。 パート4-カスタムOverlayIcon

前に、Windows 7タスクバーでアプリケーションのステータスアイコンを追加する方法について説明しましたが、これらの目的で静的画像を調べました。 このために、アイコンへのリンクが渡されるパラメーターでSetTaskbarOverlayIconメソッドを使用したことを思い出させてください。

ただし、ブログの読者の1人が、追加のアイコンの代わりに情報を表示する別のシナリオを提案しました。 たとえば、ソフトウェアがネットワークを介して何かをダウンロードする場合、現在のダウンロード速度である場合があります。 または、メールクライアントの場合、メールボックス内の新しい文字の数である可能性があります。 多くの例があります。

静止画像を設定するには、次のコードを実行する必要があることを思い出してください。

WindowsFormsExtensions.SetTaskbarOverlayIcon(this, Icons.Error, "Error");

ここでは、2番目のパラメーターとしてIconオブジェクトが渡されます。 しかし、誰がこのオブジェクトを動的に生成するのを妨げているのでしょうか? いくつかの簡単なコードを使用して実行しましょう。 このような画像を生成し、このアイコンを表示するメソッドを作成します。

private static Icon BuildIcon(int param)
{
Bitmap image = Icons.BLANK2334242;
Graphics.FromImage(image).DrawString(param.ToString(@"D2"), new Font("Arial", 54), Brushes.White, 10, 25);
return Icon.FromHandle(image.GetHicon());
}

private void ShowStatus(object sender, EventArgs e)
{
WindowsFormsExtensions.SetTaskbarOverlayIcon(this, BuildIcon(50, "Status");
}


したがって、BuildIconメソッドを使用すると、タスクバーに表示される新しいアイコンが生成されます。



このスクリーンショットでは、標準アイコンにテキストを追加してタスクバーに表示したことがはっきりとわかります。

デモアプリケーションでは、ダウンロードマネージャーの動作をシミュレートするタイマーを作成し、常に異なる「ダウンロード速度」を提供しました。

デモアプリケーション:
Taskbar-CustomIcons.zip

Source: https://habr.com/ru/post/J60358/


All Articles