あまつぶ

6.16 【メッセージボックス】

 しばらく前にFixWindowDragという機能拡張を見つけてしばらく使ってみていた。ウィンドウの周りの枠の部分ではドラッグできないようにするというもので、ウィンドウをアクティブにするだけのつもりで誤ってウィンドウを動かしてしまうことを防いでくれるというものだ。
 が、これが、単にクリックされたことを判定してくれないだけらしく、今度はアクティブにしようとしても反応してくれなくなってしまった。ウィンドウが微妙な位置で重なっていたりすると上にあるウィンドウを動かさないかぎりウィンドウの切り替えができなくなってしまう(汗)。ソフトによってはウィンドウを切り替えるためのメニューがついていたりするからなんとかなるが、見た目ではクリックして切り替えられるように見えるのに反応してくれないというのはちょっと気持ちが悪い。
 それでも間違って動かしてしまうよりはましだろうと思ってそのまま使っていたのだけど、今度はまた別な問題が発生した。ウィンドウの左端にタイトルバーが表示されているウィンドウをドラッグすることができないのだ。QT-Qで新しいフローティングウィンドウを追加しようとしていたときに発見して、IconPartyでも試してみたがだめで、DragStripでもやってみたがこれも反応してくれなかった。
 これはだめだ……ってなわけで結局はずしてしまった。ドラッグしてしまわないように気をつけながら使ったほうがいいだろうってわけで。。。

 QT-Qで、1行スクリプトを実行するためのメッセージウィンドウを作ってみた。イメージとしてはHyperCardのメッセージボックスのようなもの。あまり役にたつような気はしないけど(苦笑)、思いついたらやってみようってなわけで。
 新しく横向きのフローティングウィンドウを追加してそこにTEを乗せる。あんまりいじったことがないTEだけど、チャットプログラムでの入力ウィンドウやIconPartyでのアイコン名の修正部分などでちょこちょこ使っているからたいしたことはない。スクロールとか考え出すと難しそうだけど1行だけの入力だから面倒なことはなにもなし。
 スクリプトのコンパイル〜実行部分は、Macintoshプロフェッショナルプログラミングにスクリプトを直接実行するためのソースコードがあるからそれを参考に作る。メッセージボックスに入力された文字列を「tell application "アプリケーション名"」と「end tell」で挟んでコンパイルして実行という流れ。エラーが起こった場合はエラーの旨を表示し、エラーの起こった箇所を選択してくれると(tell文の分はずらして)。
 メッセージウィンドウのTEがアクティブな場合と非アクティブな場合とで編集メニューの処理を変更して、だいたいこんなもんかな。で、あ、getでなにかの値を取り出した場合にメッセージウィンドウに表示してくれるようにできるといいが、、、と、あれ? 結果を取り出すといつも「run」という文字列が返ってくる。これってなんだ??
 理由はよくわからないが、スクリプトを実行してからQT-Qが反応するまでに時間がかかっているみたいなのでおそらくは「まだ実行中」ということなのかな。自分自身に命令を送る場合には結果をすぐに得ることは出来ないのかなぁ……。ま、たしかに、送ってから結果を調べるまでに自分自身の別の部分のコードにイベントが送られてきて結果を返してくれるとは考えにくいけど。ということは、get命令はなんの役にもたたないということね(笑)。
 あ……。さっき1.50b2をアップロードしたばかりだけどしょうもないバグを発見。バルーンヘルプのサポートを追加してからメニューをいじったからヘルプが変だ(汗)。「初期設定...」の説明が「QT-Qを終了します」ってのはいただけない。早速修正しなきゃ。ま、おそらく次のバージョンは1.50のつもりなので修正バージョンのリリースはしばらく先だと思うけど。

 昨日はなんかすごい試合だったようで。中継はやってなかったので別の中継を見ながら途中経過を聞いていただけだったんだけど。とりあえず、福原7勝目かな? おめでとう。

to June 13, 1999 ↑ to June index → to June 23, 1999