Hilo: Windows 7 対応 C++ アプリケーションの開発

"Hilo" は、Windows 7 のパワーを活用し、Visual Studio 2010 および Visual C++ 開発システムによって、高性能で応答性の高いリッチなクライアント アプリケーションを作成する方法およびサンプル アプリケーションをご紹介するシリーズ記事です。Hilo では、ソース コードと文章によって、開発者の皆様が Windows アプリケーションを設計、開発するために役立つガイダンスを提供します。

このシリーズでは、Windows 7 の主な機能、ユーザー エクスペリエンスの設計プロセス、アプリケーションの設計とアーキテクチャといったさまざまなトピックをご紹介します。ソース コードも提供されますので、付属のサンプル アプリケーションがどのような設計で実装されているかをご自身で確認していただくことができます。また、このソース コードを実際のプロジェクトで利用し、リッチで魅力的な Windows 7 アプリケーションを独自に作成することができます。Hilo のサンプル アプリケーションは、高い性能と応答性を実現する設計となっており、すべて Visual C++ を使用して C++ で記述されています。

この一連の記事では、画像を参照、選択、処理するためのタッチ対応アプリケーションの設計と実装について説明し、Windows 7 の強力な機能を活用するアプリケーションの作成方法を具体的に示します。Windows 7 のさまざまなテクノロジを組み合わせて使用することで、魅力的なユーザー エクスペリエンスを作成できることがわかります。

このセクションの内容

トピック 説明

第 1 章: Hilo の概要

Hilo の最初のサンプル アプリケーションをご紹介します。Hilo Browser は、写真や画像を参照、選択するためのタッチ対応ユーザー インターフェイスを実装しています。

第 2 章: Hilo 開発環境のセットアップ

Hilo Browser サンプル アプリケーションをコンパイルして実行できるよう、ワークステーションに開発環境をセットアップする方法を説明します。

第 3 章: Windows 開発テクノロジの選択

Hilo アプリケーションの実装に使用されている開発テクノロジがなぜ選ばれたのか、その根拠を示します。

第 4 章: Hilo ユーザー エクスペリエンスの設計

Hilo ユーザー エクスペリエンスの開発プロセスとその概念について説明します。

第 5 章: Hilo Common Library

Hilo ベースのアプリケーション ウィンドウの作成と管理、およびこれらのウィンドウに送信されるメッセージの処理を支援する、軽量なオブジェクト指向ライブラリである Hilo Common Library を紹介します。

第 6 章: Windows Direct2D の使用

Hilo サンプル アプリケーションでハードウェア アクセラレータを活用する Direct2D および DirectWrite の使用方法について説明します。

第 7 章: Windows アニメーション マネージャーの使用

画像が時系列で変化する複雑さを処理する、Windows 7 の Windows アニメーション マネージャーについて探究します。

第 8 章: Windows 7 ライブラリとシェルの使用

ファイルが異なる場所にばらばらに保存されていても、ファイルの種類に応じて 1 つの論理的な場所からそれらのファイルにアクセスすることができます。

ライブラリはユーザーによって定義されるコンテンツの集合であり、インデックスによって迅速に検索/ソートが可能になります。Hilo では Windows 7 ライブラリ機能を使用してユーザーの画像にアクセスします。

第 9 章: Hilo Annotator の概要

選択した写真のトリミング、回転、描画を行うための Hilo Annotator アプリケーションについて説明します。Hilo Annotator では Windows リボン コントロールを使用してさまざまなアノテーション機能へのアクセスを提供しています。また、Windows Imaging Component にアクセスして、画像とそのメタデータの読み込みや操作を行うこともできます。

第 10 章: Windows リボンの使用

ユーザーが特定のアプリケーションで使用できるコマンドを、メニュー バーやツール バーよりも自然かつ直観的な方法で発見、使用、理解するために役立つ、Windows リボン コントロールの使用について探究します。

第 11 章: Windows Imaging Component の使用

Windows 7 Imaging Component が、Hilo Browser および Annotator アプリケーションでどのように使われているかを説明します。Windows 7 Imaging Component (WIC) は、画像とそのメタデータの読み込みと操作を可能にします。WIC アプリケーション プログラミング インターフェイス (API) には、すべての標準形式に対応する組み込みのコンポーネント サポートがあります。また、WIC で作成した画像を使用して Direct2D ビットマップを作成し、Direct2D で画像を変化させることができます。

第 12 章: Hilo による写真の共有

Hilo アプリケーションは、オンライン写真共有サイトを通じて写真を共有できるよう機能拡張されています。この記事では、その方法について説明します。この機能拡張のために、Hilo では Windows 7 Web サービス アプリケーション プログラミング インターフェイス (WWSAPI) を使用しています。また、追加のユーザー インターフェイス (UI) とタッチ スクリーン機能を提供するために Hilo Browser アプリケーションを更新すると共に、Windows 7 タスク バー ジャンプ リストをサポートするために Hilo Annotator アプリケーションを機能拡張しています。この章では、これらの新機能について概要を説明します。

第 13 章: Hilo Browser ユーザー インターフェイスの強化

Hilo の最終バージョンでは、Annotator および Browser アプリケーションにはのユーザー インターフェイス (UI) 機能の強化が備わっています。たとえば Hilo Browser には、Flickr を通じて写真を共有する目的で Annotator アプリケーションを起動するボタンのほか、画像のパンやズームを実行するためのタッチ スクリーン ジェスチャが搭載されています。この章では、これらの機能の実装方法を説明します。

第 14 章: Windows 7 ジャンプ リストおよびタスク バー タブのサポートの追加

Hilo Browser および Annotator は、Windows 7 ジャンプ リストとタスク バー タブをサポートしています。ジャンプ リストを使用すると、ユーザーが最近使ったファイルに簡単にアクセスすることができ、主要なタスクを起動するためのメカニズムが提供されます。タスク バー タブは、Windows タスク バーからのプレビュー画像とその他の操作へのアクセスを提供します。この章では、Hilo Browser および Annotator アプリケーションで Windows 7 ジャンプ リストおよびタスク バー タブのサポートがどのように実装されているかを検証します。

第 15 章: Windows HTTP サービスの使用

Hilo Browser アプリケーションを使用すると、オンライン写真共有アプリケーションである Flickr に写真をアップロードすることができます。これを可能にするために、Hilo では Windows HTTP サービスを使用しています。この章では、Hilo Browser でこのライブラリを使用して写真共有機能をどのように実装しているかを探究します。

第 16 章: Windows 7 Web サービス API の使用

Hilo Browser アプリケーションでは、[共有] ダイアログを使用して Flickr 経由で写真を共有することができます。第 15 章では、[共有] ダイアログで Windows HTTP サービス API を使用することにより、選択した写真をマルチパートの HTTP POST 要求で Flickr にアップロードする方法を示しました。写真をアップロードするには、まずセッション トークン (フロブ) を取得して Flickr に対する Hilo Browser の認証を行い、次にアクセス トークンを取得することによって写真のアップロードが承認される必要があります。この 2 つのステップを実行するために、Hilo Browser では Windows 7 Web サービス アプリケーション プログラミング インターフェイス (WWSAPI) を使用し、Web サービスを使用して Flickr にアクセスします。この章では、Hilo Browser がこのライブラリをどのように使用しているかを探究します。

 

関連情報

このシリーズは、C++ 開発者を対象としています。C++ 開発者で Windows 開発になじみのない方は、『C++ による Windows プログラミングの学習』 シリーズを確認されることをお勧めします。

次へ | ホーム