開発じたばた日誌

前へ●●●次へ
じたばた日誌目次へ戻る
TSUCHY Softへ戻る


WinArrange MDI編

 まずMDIとは何なのか説明します。簡単です。ワープロや表計算のように一度にたくさんファイルを開く アプリのことです。これに対しSDIというものがあります。これはメモ帳のように一度には一つのファイルしか 開けないアプリのことです。

 さて、WinArrangeの開発が一区切りついて目にとまったのがMDIのウィンドウの整列です。当時エクセルの中のウィンドウを横とか縦 に並べるにはメニューのわりと深い階層で行っていました。これはちと面倒だ。ちょうどヒマだし、これの 整列をやってみようかな。こういう安直な動機がどはまりの元なのです。

 ウィンドウハンドルさえ得られればたぶん並べることができるはずです。ところがこのハンドルを得る 処理で苦労したのです。当時スパイ(という開発用ツール)の使い方を知らなかったので、ウィンドウの中に 階層構造をしたウィンドウがあることを見抜けませんでした。

 階層構造というのは、ナニ簡単なことです。たとえばダイアログボックスでは

ダイアログ親ウィンドウ
 ├ O.K.  ボタン
 └ Cancel ボタン

のようになっているということです。ですからExcelも

 Excel親ウィンドウ
 ├ MDI1ウィンドウ
 ├ MDI2ウィンドウ
 ...............
 └ MDInウィンドウ

だと思っていました。ところがきっちょんちょん、これがはずれです。この前提で整列させると、Excelの中の諸々の コントロールがへんてこな位置に移動してしまいます。

 こんなことをやっている光景をあなたがみたら、私のツールを使おうなどとは決して思わないでしょう。作者は開発中の 恐ろしい光景を他人にみせてはいけません。