BitmapLoader〜イントロダクション〜
 ソフト制作短編コーナーにて、画像Viewer(VisualC++6.0のみ)を作成しました。これは、CHtmlViewクラスというHTMLファイルを簡単に開くことのできるクラスを利用し、画像ファイルをHTMLで表示させただけなので、実際にイメージについて手を加えたわけではありません。
 今回は、Bitmapファイルだけの表示となりますが、実際にファイルを読み込み、メモリに書き込み・・・などを行い、本格的なBitmap表示を行っていこうと思います。

1.本ソフトウェア制作で学ぶことの出来る技術

本ソフトウェア制作を通して以下のことを学ぶことができるでしょう。皆さんのプログラミング経験のお手伝いになれば幸いです。

■ ビットマップファイルの読み込み方法
■ メモリデバイスコンテキストの作成と利用
■ 再描画処理(クリッピング)
■ DocとViewの明示的な使い分け

なんだか難しそうですが、少しづつ学習していくので心配ないですよ。

2.プロジェクトの作成

プロジェクトを作成します。作成内容については以下の通りです。

[初期画面]
プロジェクト名BmpLoader
プロジェクト種類 MFC AppWizard(exe)
"新規にワークスペースを作成"にチェック

[ステップ1]
作成するアプリケーションの種類においてSDIをチェック

[ステップ2〜]
特に変更なし

今回は、SDI(Single Document Interface)のソフトウェアとして作成していきます(その方が簡単なので)。

3.リソースの編集

BitmapLoaderですから、メニューの中で「編集」する項目や新規作成・保存といった項目は不必要です。そこで不要なものは全て削除してしまいます。

1. 「編集」の以下の全てのメニュー項目を削除する(「編集」ポップアップも削除)。

2. 「ファイル」内において、"印刷"、"印刷プレビュー"、"プリンタの設定"、"アプリケーションの終了"以外の項目を削除する。
 "開く"を削除してしまうのか?と思う人がいるかもしれませんが、メニューにある"開く"が押されると、Appwizardが自動的にCWinAppクラスのOnFileOpenを実行するように、以下の通りに記述しているため(BmpLoader.cppにて)です。
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
 今回はビットマップファイルを開きます。したがってディフォルトであるCWinApp::OnFileOpenでは対処できないので、こちらでファイルを開く機構を新たに作らなくてはならないので、"開く"(ID_FILE_OPEN)を削除してしまうのです。


3. "開く"メニューを追加する。

Fig1_1.jpg "開く"メニューを追加


 キャプションにて、"..."と書いていますが、これは「このメニューを開くと何かダイアログが開く」 という意味だそうです。しかしキャプションは表示文字列に過ぎないので なくても構いません。またCtrl+Oとはアクセラレータキーです。アクセラレータキーは、後で設定しますのでとりあえず書いておきます。

[Next]
[Previous]
[Home]