Graphical User Interface

グラフィカル・ユーザー・インターフェイス、通称GUI。今どきはもうマウスだけで操作できないソフトは人が寄り付かないような風潮ですね。インターネットしかやらない友人なんかにDOSプロンプトといったところで何それ、といった具合です。

さて、次に二つのプログラムのソースコードへのリンクを貼っておきます。
http://www5.ocn.ne.jp/~minute/data/list1.txt
http://www5.ocn.ne.jp/~minute/data/list2.txt
これらのプログラムはどちらも「Hello」という文字を表示するプログラムです。前者は真っ黒なコンソールの上に、後者はウィンドウの上に文字を表示します。たったそれだけの違いですがプログラムの複雑さは桁違いです。プログラムはGUIで作られるのが当たり前になった今でも、プログラムを学ぶための第一歩はウィンドウとは無縁な真っ黒いコンソールから始まるのが一般的だと思います。

Windowプログラミングは決して敷居が低いものではありません。ウィンドウの大きさが変更できたり、文字のフォントや色や大きさ等を操作できたり、自由度が大幅に上がっただけに覚えるべきことも比例して増えています。ただし、決して高すぎるハードルでもありません。ちょっとした慣れで何とかなるレベルです。

別に何がどう難しいということも無いのですが、GUIの作成は面倒に感じることが多かったりもします。例えばunDonutのオプションに一項目加える場合の手順はこんな感じです。

  1. まず、リソースエディタというものでダイアログの上にチェックボックスを一個追加配置します。この作業はグラフィカルなエディタ上で行います。
  2. 次にプログラム内に、チェックボックスの値を記憶するための変数を用意します。
  3. オプション画面を開いた時には変数の値を→チェックボックスに反映させます。
  4. OKボタンが押されたときはチェックボックスの状態を→変数の値に反映させます。一般的にチェックボックスがONなら変数は1、OFFなら0という関係にしておきます。
  5. プログラムは特定の機能を実行する際にこの変数の値をチェックして処理を分岐させたりするように作ります。
  6. プログラムの終了時には設定ファイルに変数の値を保存するようにします
  7. 次回プログラムを起動する際に保存した値を読み込むようにします

たかだか一つの項目を作るのに6,7手順もの作業が必要なんです。もちろん面倒は嫌いなので、ツールやら開発環境の機能なんかを用いてある程度自動化しています。それでもいつも「もうちょっと簡単にならないかなぁ」とか思っちゃうんですよね。

今日も結局何が言いたかったのか分からない文章になりました。