開発じたばた日誌

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


WinArrange ボタンではまる編

 ここまでは主に内部処理の問題について書いてきましたが、表示関係でもはまりました。 表示は小さく、やっぱりかわいいボタンを並べて置きたいですね。でもVB(V1.0時代)のボタンは絵を つけられません。それでは面白くない。簡単に絵を表示する方法はないものでしょうか。

 まず私はボタンを使うことをあきらめ、イメージまたはピクチャーコントロールを使うことにしました。 これらは四角形にアイコンの絵を簡単に表示できます。ところが(こればっかりだな)このやり方では ボタンをクリックしたときの、あのいかにも「押しました」という表示をしてくれないのです。 結局どっちにしてもえらい苦労をするのです。

 「ボタンを押しました」というのはいったいどういうことがなされているのでしょうか。簡単です。影のつく位置が変わる だけなのです。Windowの約束として、光は左上から当てられているような表示をします。ボタンが普通の状態 では上、左は明るく、下、右は暗くなっています。押された状態では逆になります。

 早い話、自分でこれをすればいいのです。あーなんてこった。楽できるはずのVBでこんなジュラシック時代的な処理を しないといけないなんて。

 さあこれでうまくいくはずだ。あれ、なんか変だな。うわあああ、なんてこった。このやり方では 影の部分は確かに思ったとおりになるけど、アイコンの絵の位置が同じままだ。見逃していたことが ありました。ボタンをクリックしたとき、影だけでなく、中の絵も右下方向にちょっぴり移動させて 表示しないと「押した」感じがしないのです。

 ああ、ついにボタンらしくみせることをあきらめ、表示しているアイコンの色を変化させることで わかるようにしました。

 やりたい処理(窓の移動)はできてしまっているのに、ボタンの表示だけでこんなにはまるなんて!! VBってもっと簡単なものじゃないのかい。

 さて、このころになるとAPIを使いまくり状態になり、VBの機能だけでできることもAPIでやって しまうようになりました。いよいよ本末転倒状態になっています。