Windows 7のタスクバーにアイコンバッジ

| コメント(0) | トラックバック(0)
badge.pngiPhoneが普及させた「バッジ」というものがあります。ホーム画面のアイコン上に赤丸の数字を重ねるものです。Mac OS XでもLionからサポートされました。

よくできていまして、桁数が増えると横長になって4桁まで表示可能。欠点は自然数以外を一切受け付けないことで、プラスもマイナスもゼロもダメです。

最近は気温の表示など、0以下になり得るアプリが出ていまして、改善を望みたいところです。実は文字の表示ができる非公開APIもあるのですが...。

さて一方のWindowsはというと、Windows 7でタスクバーにオーバーレイアイコンを表示できるようになりました。

こちらは"!"や"?"等、アイコンなら何でも表示できます。欠点は、逆に文字や数字を簡単に表示する方法がなく、大きさも16×16に固定されていることです。

大きさが固定なのが痛いですが、アルファチャンネル付きのアイコンを生成する方法が公開されているので、これを使ってバッジ的に使うサンプルを作ってみました。
SetOverlayIcon.zip

位置合わせは一桁の数字で行なったので、"W"のような大柄な文字ははみ出気味です。日本語も受け付けますが同様。

一応、2文字以上も縮小しますが、何しろ16x16の赤丸のさらに内側ですから、数字でも2桁が判読できる限界だと思います。

文字数を節約するため、先頭の"-"は特別に処理するので、負の数も1文字扱いから始まります。

また正負記号を右上に重ねることで、例えば"9+"とすれば、数字そのものは1桁だけで「10以上」を知らせることができます。

内部の描画にGDI+を使っており、フォントはFranklin Gothicです。主に"1"の配置が綺麗という理由によります。Arialは何だかバランスが悪くなりました。

バッジの他に進捗表示と点滅の機能があります。点滅はFlashWindowExなのでVista以下でも使えます。

余談ですが高さ16で幅16以上のアイコンをオーバーレイさせたところ、見事に横を縮小されました。

トラックバック(0)

トラックバックURL: http://mychro.mydns.jp/cgi-bin/mt/mt-tb.cgi/354

コメントする

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ