Delphi で Windows 7 の新機能を使う

Delphi でのアプリケーション開発の話です。プログラムなんて書かねーよ、Delphi なんて知らねーよ、という人にはどうでもいい話です。ごめんなさい。


Windows 7 にはタスクバーまわりの新機能 (ジャンプリスト、プログレス表示など) がいろいろ追加されてます。こいつを Delphi で開発している HeTeMuLu Creator に実装できないかなー、と思ってました。

しかし、いろいろググってもこれといった情報は見つからず。「どうやったらいいんだろう」と同じく迷ってるブログと .NET Framework の話しか出てきません。自力で実装することを考えるものの、どうやら Win32 API ではなくて COM を用いるらしく、何もない状態から作るにはかなり厄介な感じ。

うーん、Delphi で試した人ってまだ世界のどこにもいないのかなー、と諦めかけつつもしつこく探していたら、コンポーネントがありました!


screenshot
http://www.gumpi.com/Blog/2009/10/02/Windows7ComponentsBeta.aspx

この「Windows 7 Components」は、タスクバーまわりの新機能をほぼすべて網羅しているコンポーネントです。インストールしてフォームに貼り付けるだけでカンタンに使えるようで、完成度もかなり高そうです。

Beta と書いてありますが、10月9日のブログエントリによると、近日中に正式バージョンを公開する予定となっています。


ライセンスに目を通すと GPL (これが混ざるとすべてが連鎖的にオープンソースになってしまう恐怖のライセンス) の文字があってドキッとさせられますが、よく読むとライセンス条項は以下のようになっています。(注: 誤訳があるかもしれません。使用前に必ず原文を確認してください。また、もし誤りがあったら教えてください)

  • 無保証なので、自己責任で使ってください。
  • コンポーネント ライブラリの一部として配布するなら GPL ライセンスにしないといけません。
  • アプリケーションへの組み込みは、制限無しに自由に使用することができます。そのアプリケーションのドキュメントに作者について言及してもらえると嬉しく思います。
  • また、アプリケーションに組み込む場合は、GPLLGPLMPL から任意のライセンスを選ぶこともできます。必要な場合は作者に相談してください。

ということで、特にライセンス的な懸念はなく使えるよう。なんともありがたいことです。


しかし、対応しているのは Delphi 7 から最新の Delphi 2010 まで。HeTeMuLu Creator は、今となってはアップデータすらダウンロードできなくなっているぐらい古い Delphi 5 で開発してます。ダメもとで Delphi 5 へのインストールを試みたものの、Delphi 7 以降の新機能が使われている場所が結構あって、なかなかうまくいかない感じです。

とりあえず、たまたまインストールしていた新しい Delphi の体験版でサンプルプログラムをビルドしてみることにしました。



タスクバーのプログレス表示



ライブサムネイルにボタンを配置



タスクバーアイコンの右下に小さなアイコンをオーバーレイ



ジャンプリスト (これがほしかった)



グループ化されたライブサムネイル

なかなかいい感じです。DelphiWindows 7の新機能を活用したアプリケーションを作りたい方は使ってみてください。