履歴
プログラマ向け拡大鏡プログラム「虫の眼」の履歴 or 覚書。
※課題
履歴
2009-08-29:
- グリッドメニューの選択がうまくいかなくなっていた不具合を修正。
ラジオメニューやラジオボタンとのからみでActionのAutoCheckプロパティをFalseにしたことでメニューのチェックが自動で行われなくなっていたため。
- チェックボックスのActionプロパティの挙動が他のコンポーネントと違うことへ対処。
チェックボックスの場合は他のコンポーネントと違い、Actionの状態ではなくチェックボックスの状態を優先してセットしてしまうようだ。
2009-08-20:
- 一覧設定フォームのソースコードが9x対応でなかった見落としを修正。
- キーボードショートカットのカスタマイズに対応。
ただし修正・調整の必要があるためバージョンアップは見送り。
2009-08-16:Ver 1.4.9.83
- 9xでも動くように見直し。
ついでにソースコードをまとめた。
2009-08-02:Ver 1.4.8.77
- タイトルバーの表示/非表示オプション復活。
- ツールバーに最小化ボタン、終了ボタン復活。
- ツールバーのグリッドボタンを左クリックしたときの挙動をメニューのポップアップからグリッドの表示/非表示に戻す。
- Ctrl併用のコピーでファイルへ保存し関連付けされたプログラムを起動する機能を復活。
2009-07-21:Ver 1.4.7.77
- セカンダリモニターがあるとき起動時にプライマリーモニターの外に表示されてしまう不具合へ対処。
フォームのOnCreateの最後にShowメソッドを呼ぶことで回避。原因はわからず。
VCLのマルチモニターの扱いに不具合がありそうな予感も、、
- Shiftキーを押しながら起動した場合起動はすれども何も表示されなくなっていた不具合を修正。
2009-06-12:Ver 1.4.6.77
- バージョン情報を汎用フォームで表示するように変更。
- 設定フォームのモーダル表示をやめ「常に前面に表示」のセットのときに本体だけでなく設定フォームとバージョン情報の汎用フォームにもTopMostをかけるようにした。
- フォームのBorderStyleをbsSizeTooWinからbsSizeableに変更。
2009-05-29:Ver 1.4.5.75
- オプション設定フォームの表示をモーダルに変更。
「常に前面に表示」の場合設定画面が本体の後ろに表示されてしまうため。
- ヘルプ画面が複数表示できてしまう不具合を修正。
2009-03-14:Ver 1.4.4.75
- iniファイルの読み込みでShift-JISを指定していたのを廃止。
Shift-JISで読み込ませると、BOMつきのUnicodeで保存されていたものはBOMをBOMとしてではなく文字列として認識してしまうため。
2009-01-25:Ver 1.4.3.72
- iniファイルの後ろにゴミがついてしまう不具合を修正。
2009-01-09:Ver 1.4.2.71
- 一時停止の時の情報表示欄の色をclInfoBkとclInfoTextに変更。
- 一時停止・固定キャプチャ時にズーム画面をドラッグした場合フォームを移動させるのではなくズーム画像を移動させるように変更。
- 一時停止・固定キャプチャ時[W]キーを押している間は倍率を1倍にするようにした。
2008-12-10:Ver 1.4.1.70
- ズーム画像のコピーでツールバーの大きさを調整していなかった不具合を(今頃)修正。
2008-12-09:Ver 1.4.0.70
- 一時停止時でもカーソル位置のウィンドウ情報を取得できるようにした。
マイナーバージョンあげ。
2008-12-05:Ver 1.3.0.70
- 大幅なソースコード見直し。
- 起動中にモニターが増えたり減ったりした場合にモニター座標の表示が正しくならない不具合を修正。
- モニターが減った場合、そのモニター上にこのプログラムがあったら別のモニターに移動するようにした。
- モニター間移動を[Ctrl]+[Q]から[Q]に変更。
- マルチモニターでメイン以外のモニターでの起動に対応。
- タスクバーのメニューから「設定」を削除。「モニター間移動」を追加。
- オプション設定フォームの設定をリアルタイムに反映するように変更。
- [Ctrl]キー併用のコピーでテンポラリファイルを作り対応するアプリケーションに渡していたのを中止。
ズーム画像のテンポラリファイルで実行ファイル名にUnicode文字が使われると不具合が発生する場合があり対応が面倒であるのとシンプルかつ無用な混乱をさけるため。
- ウィンドウ情報の「ProcessID」を削除。"ウィンドウ"情報じゃないし…ということで。
- 一時停止時にフォームをつかんでキャプチャポイントを移動させるのにモニターの範囲外にいかないようにしていたのをスムーズな動作に改良。
またそのときの併用キーを[Ctrl]から[Shift]に変更。
- ホイールによるカーソル移動の併用キーを[Shift]から[Alt]へ変更。
これで[Shift]併用で10ピクセルの移動が可能となった。
- 設定で一度にOn/Offさせていた動作を全部チェックしていなければ全部チェックに変更。
2008-12-01:Ver 1.2.11.69
- 一時停止時に[Ctrl]+ドラッグで画面を移動させるのにフォーム外にマウスを持っていっても移動を認識するように変更。
- ウィンドウ情報表示のフォーマットを少し変更。
ウィンドウサイズの表示の並びを Width Height Left Top に戻す。
クラス名とテキストのダブルクォーテーションの囲みを無しに。
- デスクトップの範囲外の色を黒に戻す。
2008-09-17:Ver 1.2.10.69
- [Shift]を押しながら起動でスクリーンの左上にデフォルトの大きさで表示。
- 起動後に[Shift]+Qでスクリーンの左上に移動。
-
起動後に[Ctrl]+Qでモニター間移動。
以上三点の機能を追加。
2008-09-08:Ver 1.2.10.69→1.2.9.69
- カラーに10進表示を追加。
が、すぐに必要とした表示が10進ではなくCOLORREFであることがわかり、削除の憂き目。
2008-07-08:Ver 1.2.9.69
- モニター座標を実装。
- ヘルプの表示位置をpoDesktopCenterからpoScreenCenterへ変更。
poDesktopCenterだと複数のモニターにまたがってしまうので。
- 一時停止時のカーソルポジションの移動でモニターの範囲外にいかないように修正。
- 一時停止の時にCOLORREFの表示がグレーになっていたミスを修正。
- すべてのテキストをコピーで不用な項目が残っていたり必要な項目が入っていなかったりしていたミスを修正。
- ウィンドウサイズの表示の並びをLeft Top Width Heightに変更。
2008-06-23:Ver 1.2.8.69
- グリッドを表示しない時にマウスカーソルボックスのラインがずれてしまっていた不具合を修正。
- ショートカットのキーアサインを少々変更。
- ヘルプを少し充実。
2008-03-05:Ver 1.2.7.69
- Ctrl+Shift+ホイール操作でフォームの拡大・縮小を10ピクセル毎に変更。
- オプション設定フォームに初期化ボタン設置。
- ツールバーのアイコンを右クリックした時にもメニューを表示するように変更。
左クリックでグリッドはグリッドのOn/Off、オプションは設定フォームの表示に変更。
2008-02-19:Ver 1.2.6.69
- 「常に前面に表示」の見分けようの文字を「▲」から「↑」に変更。
マウスジェスチャーとの関連もあってこっちの方がいいかなと思って。
- スムーズキャプチャ時のタイトルバーの表記をメニューとの整合性も考えて「頻繁に」から「スムーズ」に変更。
- 一時停止、スムーズキャプチャ、定点キャプチャ時に常に前面に表示の見分けるための「↑」が表示されていなかったのを修正。
- マウスジェスチャーの←をグリッドの、→をツールバーの表示・非表示に変更。
気分的なもの。
2008-02-11:Ver 1.2.5.69
- 書き込みできない場合のiniファイル書き込みのエラーに対処。
同時に[Ctrl]を押しながらクリップボードへコピーを行ったときに関連付けられたプログラムへ渡すファイルへの書き込みのエラーにも対処。
- ウィンドウ情報のテキストの表示でウムラウトのようなUnicode文字に対応。
今までやっていなかったのかと…
- フォントをTerminalからMS ゴシックに変更。
- 「大きいフォント」オプション追加。
2008-01-29:Ver 1.2.4.69
- メニュー整理。「タイトルバー」を削除「フルメニュー」を消去。「プロセスID」復活。
- メニューカスタマイズの破棄。
- ツールバーのグリッドサブメニューを取りやめ、表示・非表示に切り替え。
- マウスジェスチャー導入
↑ 常に前面に表示
↓ 一覧設定フォーム表示
→ グリッド表示・非表示
← ツールバー表示・非表示
- 常に前面に表示させたとき見分けがつくようにタイトルバーに「▲ 」を表示。
2007-12-11:Ver 1.2.3.69
- [Ctrl]+[Shift]+ホイール、[Ctrl]+[Shift]+方向キーの↑↓でフォーム拡大・縮小。
あまり必要ない気もするけれどたまに便利な時もあるので。
2007-12-07:Ver 1.2.2.69
- 情報表示欄に罫線を表示
- 情報表示欄の項目タイトルをメニューに準拠
- Window情報のPIDを廃止。
2007-11-17:Ver 1.2.1.69
- 内部の作りを将来のカスタマイズ化に備えてActionListを利用するものに変更。
- ツールバーのメニューに「キャンセル」を追加。
- フルメニューを当面の間非表示に。
2007-11-13:Ver 1.2.0.62
マイナーバージョン上げ。
2007-11-12:Ver 1.1.1.61
- 「一覧設定」→「オプション」→「グリッド」でコンボボックスから「任意」を選んだ後カラーダイアログで「キャンセル」を押したときに元の(任意を選ぶ前の)項目に戻すようにした。
「任意」の色をキャンセルしたということは「任意色」をキャンセルしたものとみなすので。
2007-10-08:Ver 1.1.0.56
- 「オプション」に「一覧設定」を追加。
設定を右クリックからポップアップメニューを立ち上げてちまちまやらずに一括してやれるようになった。一度にいくつかの設定を変更したいときに便利かと。
- 「フォント」メニュー削除。
便利かもしれんがあまり必要なかろうと。
- 「設定を保存」メニューも削除。
- 「固定キャプチャ」を「定点キャプチャ」に名称変更
- 「頻繁にキャプチャ」を「スムーズキャプチャ」に名称変更
- 「一時停止」「定点キャプチャ」「スムーズキャプチャ」をトップメニューからオプション下に移動。
- タスクバーのメニューに「一覧設定」を追加。
メニューのカスタマイズで「一覧設定」メニューを非表示にしていてもここから呼び出せるように。
マイナーバージョン上げ。
2007-09-25:Ver 1.0.5.55
- デスクトップの範囲外の塗りつぶしの色を$00100010に変更。
この色がどうやらビデオのオーバーレイのときの色に使われているようなので。まぁ、大して意味はないのだけれど。
2007-09-07:Ver 1.0.4.55
- システムメニューをカスタマイズしていたのをやめた。
シンプルに。
- タイトルバー無しで最大化したあとタイトルバー無しを選択すると最大化が解除されてしまっているためその後メニューから「元のサイズに戻す」を選択しても最大化される前の大きさに戻らない(つまり異様にでかいまま)問題発覚。
解決策として最大化をやめた。システムメニューからも削除。
- カーソル下のウィンドウを拾うのにWindowFromPoint関数を使っていたのだけれど、これがグレイアウトしてたりモーダルダイアログの下にあるウィンドウのハンドルは返さないことを発見。
EnumChildWindowを使って可視ウィンドウであれば返すような関数を書いて入れ替え。ちなみにChildWindowFromPoint関数は不可視ウィンドウであっても返すので使えなかった。
2007-09-02:Ver 1.0.3.53
- HeapCheckerを入れてみたら18個もメモリーリークが出てたので対処。
- 一括して情報表示のOn/Offのキー割り当てを[INS]/[BS]に変更。
一つのキーでトグルにした方がよいかも知れない、、
2007-08-27:Ver 1.0.3.51
- [Ctrl]+Wheel、[Shift]+Wheelをグリッド選択、ルーラーOn/Offからカーソル移動に変更。
[Ctrl]+Wheelで↑↓、[Shift]+Wheelで←→
2007-08-19:Ver 1.0.2.51
- カラー情報とウィンドウ情報の親メニューにチェックがついたりする妙な不具合を修正。
- カラー情報、カーソル位置のショートカットを数字キー、ウィンドウ情報をCtrl+数字キーに割り当てし直し。
このへんのショートカットキーの割り当てはもうちょっと煮詰めたほうがよいかなと。
2007-08-08:
- 「クリップボードへコピー」の「画像以外の情報すべて」を選択したときにズーム画像もあわせてクリップボードへ送るように変更。メニューのキャプションを「すべて」に変更。
…一晩したらやっぱりそれは不要だなと思い至り元に戻す
- [Ctrl]+[INS]/[Ctrl]+[BS]で一括して情報表示のOn/Offを追加。
これ以前のは記録無し。
公開する気はなかったので。
で、確か8年くらい前から作り始めて途中そこそこ出来上がった段階で作るのやめて5年くらいほったらかしにしていたのが2007年の5月くらいから急にやる気になってまた作り始めたと。
一番最初にこれを作ろうと思ったきっかけはだいぶ前にさかのぼります。
Windows3.1(16ビット)の時代にFatbitsというアメリカの人が作った虫眼鏡ソフトをずっと使っていたのですが、Windows95になってOSが32ビットに変わるとFatbitsが途中で固まることが多くなってしまいました。
そんなときは固まったFatbitsを強制終了させてまた実行すれば良かったのでとりあえず使えてはいたのですが、精神衛生上よろしくないなぁと。
で、Fatbitsの32ビット版を探してみたのですが(探すのが下手だったのか)見つけられず、それではと国産の虫眼鏡ソフトを探してみても目的にかなうものはなし。
ユーザー指定ポイントの座標やクライアント座標でカーソルポジションを得られるのとかグリッドを反転表示できたりするのがなかったのです。
そんな折も折、幸か不幸か交通事故にあい一ヵ月半自宅療養を余儀なくされてしまい、じゃぁこの際だからがんばって自分で作ってみるかと。
そういうことなわけです。
今なら目的にかなうのがいくつかあるのでわざわざ自作する必要はないのですが、でもまぁ自分で作るということは自分用に作りこめるということなのでそれはそれで良かったかなと。