2009年12月5日、セミナーイベント「VSUG Day 2009 Winter」が日本工学院蒲田校において開催された。当日はVisual Studioをはじめ、.NET FrameworkやSilverlight、Windows Azureなどを対象としたさまざまなセッションやアカデミーが行われ盛況を博した。ここでは、Microsoft MVP for Visual Basic/Oracle ACEの初音玲氏によるセッション「Visual Studio 2008を活用したWindows 7対応アプリの作成」の内容を紹介する。
Visual Studio 2008を活用したWindows 7対応アプリの作成
初音氏のセッションでは、「Visual Studio 2008」を使って「Windows 7ユーザーエクスペリエンスガイドライン」で規定されているユーザーインターフェースがどれくらい実現できるかを検証した。冒頭で「Windows 7の前に、Windows Vistaへの対応は終わっていますか?」という質問を参加者に投げかけた。これはVisual Basic 2008へのバージョンアップがVista対応への近道であるためだ。
Visual Basic 2008で何が変わったかというと、アプリケーションのプロパティに[UAC設定の表示]という項目が増えている。これを開いてみると、Visual C#における「マニフェスト」の項目が追加されている。前バージョンではマニフェストを作成してexeファイルの中に入れるという作業が必要だったが、Visual Studio 2008からは標準で搭載されるようになった。
マニフェストファイルで重要なのは、「requestedExecutionLevel」の項目で、「aslnvoker」「highestAvailable」「requireAdministrator」3種類の権限を設定できるようになっている。
レベル | 意味 |
---|---|
aslnvoker | アクセス許可の追加要求を行わない。 |
highestAvailable | 親プロセスが利用できる最も高いアクセス許可を要求する。 |
requireAdministrator | 完全な管理者アクセス許可を要求する。 |
どのユーザーでもクリックワンスで実行できるものは「aslnvoker」のみとなる。これらを踏まえて、初音氏は本題に入った。
Windowsユーザーエクスペリエンスガイドラインに沿ったアプリケーションを作るためには
今回初音氏が紹介したユーザーインターフェースのベースとなるのは、マイクロソフトが2009年に発表した「Windowsユーザーエクスペリエンスガイドライン」。Visual Basic 6.0以来、久しぶりに発行されたユーザーインターフェースのガイドラインだ。開発の際に、これに準拠したユーザーインターフェースのデザインを構築するよう記されたものだが、PDFファイルで775ページもあり、すべてを読むには骨が折れる。
ガイドラインの目次には「デザイン原則」「コントロール」「コマンド」「テキスト」「メッセージ」「対話操作」「ウィンドウ」「外観」「エクスペリエンス」「Windows環境」と10項に渡って規定が記されており、コントロールだけでも21種類の細かな規定が記されているが、日本語で作成する場合には判断に困る場合が多い。
そこで初音氏は、「コントロール」「コマンド」「メッセージ」に内容を絞り、その中でも特に重要と思われる点について紹介した。