2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最近のトラックバック

無料ブログはココログ

« 2007年3月4日 | トップページ | 2007年3月18日 »

2007年3月17日 (土)

OuDia 開発の経緯-5a
『グリッド形式ビュー』の開発(2001年2月~2005年5月)


 OuDia で、ユーザーが最も長時間使用する画面は、おそらく『時刻表ビュー』だと思います。
 この『時刻表ビュー』をはじめとした表形式の画面のことを、OuDiaでは『グリッド形式ビュー』と呼んでいます。Microsoft Excel の画面でお馴染みの形式です。なお、『グリッド』(grid)には、「格子」・「網」・「碁盤目」といった意味があります。

 OuDiaを作成するにあたり、この『グリッド形式ビュー』をどうやって実現するかが問題になりました。この方針を決定しないと、作り始めることができません。

 まず、OuDia の『時刻表ビュー』に使う『グリッド形式ビュー』にはどんな機能が必要なのかを考えてみました。

  1. 各セル(升目)に、任意の文字を表示できること。
  2. それぞれのセルの文字のフォントや文字配置(右寄せ・左寄せ)は、個別に設定できること。また、文字の色や背景色も、セルごとに個別に設定できること。
  3. 各行・列の幅が個別に設定可能であること。
  4. 行・列の間の罫線の色や太さは、個別に設定できること。
  5. 隣り合ったセルの結合が可能であること。
  6. スクロールバーによるスクロールが可能であること。
  7. 画面上のセルのうちの一つを、『フォーカスセル』とすること。『フォーカスセル』は、点線の枠線で表示する。『フォーカスセル』は、矢印キーやマウスによるクリックで、ユーザーが任意に移動できること。さらに、『フォーカスセル』の移動に合わせて、画面をスクロールさせること。
  8. 表形式ビューを画面に表示するだけでなく、プリンタに印刷できなくてはならない。

 「Microsoft Excel の画面でお馴染みの形式です」などとサラッと書きましたが、実際にこれだけの機能を持った画面を自分で作るのには、かなり手間がかかることが予想できました。

 ところで、このようなグリッド形式の画面を実現する方法として、自分でグリッドの機能を作る以外に、コンポーネントを利用するという方法があります。コンポーネントとは、自分のアプリケーションにとりこんで使うことのできるプログラムの部品のことです。グリッドを実現するためのコンポーネントとして、 "MSFlexGrid" というものがあることは知っていました。

 しかし、 "MSFlexGrid" では、表示に関しての必要条件、つまり上の1.~7.までは実現できるものの、表を印刷することができません。また、 "MSFlexGrid" をはじめとするコンポーネントを利用する場合、コンポーネントの機能に不満があったとしても、コンポーネント自体を改造することは不可能です。OuDiaで最も重要な画面である『時刻表ビュー』を作るにあたり、画面の機能が自由に変更できないとすれば、それは大問題です。
 結局、コンポーネントの利用は断念し、『グリッド形式ビュー』を一から自作することにしました。

(つづく)

« 2007年3月4日 | トップページ | 2007年3月18日 »