|
今回の記事は,いわゆる軟派な内容です。ジェネリックスや正規化といった硬派な内容はもう少し後の回にとっておくことにして,今回は軟派な内容でお送りしたいと思います。
軟派にとって大事なことは見てくれの良さです。おっと,変な話になりそうなので著者が思う『硬派なアプリ(アプリケーション)』『軟派なアプリ』について整理しておきます。
硬派なアプリ
見た目に派手さはないが,アルゴリズムがしっかりしていて,たくさんのデータを高速に処理できる。また,通常は見えないところの機能が充実している。例えば,入力エラーや例外に対する処理が充実しており,的確である。
軟派なアプリ
機能はあまり充実していない。パッと見はいいのだが,使いこなしていくうちに不満が出てくる。でも,見た目が整っており,ユーザーに使ってみようという気を起こさせる魅力がある。
もちろん,見た目も見えない機能も充実しているほうが良いに決まっていますが,今回はVisual Basic(VB)2005なら,少ないコードで見栄えのするアプリを作成できるということをお伝えしたいと思います。
今回作成するアプリはテキスト・エディタです。と言っても,高機能なテキスト・エディタを作るのは大変です。ここでは,テキスト・ファイルをStreamReaderクラスを使って,テキストボックスに読み込み,編集した後,StreamWriterでファイルに書き出すプログラムを作ります。でも,今回の目的はテキスト・ファイルの扱い方を説明することではありません。アプリの外観をいかにアプリらしく見せるかがテーマです。
図1●今回作成するテキスト・エディタ |
まず,実行イメージから見てください。メニューバーの下にはツールバーがあります。フォームいっぱいに広げたテキストボックス上で,右クリックするとショートカット・メニューを表示します。また,テキストボックスの下にステータスバーを配置して,アプリの状況を通知します。簡単な作りですが,Microsoft Word 2003の外観をまねています。
プログラマとして「独自で,かつもっと使いやすいユーザー・インタフェースを作るのだ」という気概を持つのは良いことですが,広く普及しているスタイル,一般的と言われているユーザー・インターフェイスをまねて,勉強することも大切です。それを踏まえたうえで,オリジナリティを発揮することができたらすばらしいですね。
VB 2005を使うとOffice 2003ライクな外観を持つアプリを作成できます。フォームに配置する部品の一覧と特徴にざっと目を通してください(表1)。
表1●使用する部品の一覧使用する部品 | 備考 |
MenuStrip | 読み込み/書き出しのためのファイル・メニューとバージョン情報を表示するヘルプメニューを作成 |
ToolStrip | 新規作成,開く,上書き保存のボタンを持つ |
TextBox | DockプロパティをFillにし,全体に広げる。MultilineプロパティをTrueにし,複数行対応にする |
ContextMenuStrip | TextBoxに関連付けた「切り取り」「コピー」「貼り付け」のメニュー項目を持つ。右クリックで開く |
StatusStrip | Labelを持ち,「読込中」「書込中」といった状態を表示 |
OpenFileDialog | ユーザーに開くファイルを指定させる |
SaveFileDialog | ユーザーに保存するファイル名を指定させる |
MenuStrip,ToolStrip,ContextMenuStrip,StatusStripと,Strip(ストリップ)と名前に付くコントロールが並びました。私を含めた男性諸氏はストリップという言葉につい「エヘヘ」とにやけてしまいそうですが,これも誤解のないように言葉の意味を整理しておきましょう。
stripには「裸にする」や「脱衣する」という意味がありますが,その他に「細長い切れ」や「間口の狭い様々な店が並ぶ街路」という意味があります(ネットで海外旅行の紹介ページなどを見ていると“ストリップモール”という言葉によく出くわすことがありますね)。Strip系コントロールのstripも,そんなイメージでとらえていただければよいかと思います。
それでは,フォーム作成の要点を画像とともに説明していきましょう。