★How To CLD!★
みんなで作ろっ
電卓定義ファイル~



さて皆さんに質問です。
これから作ろうとしている電卓ですが、電卓として機能するためには、まず何が必要でしょうか?

そうです。ボタンです。
数値を入力できないと困りますから、まずは1とか6とか入力するためのボタンが必要です。
それから、入力した値と、現在の値を表示するボックスがいりますね。

電卓定義ファイル(CLD)には、これらのボタンボックスの位置や大きさを記述すればいいのです。
右の電卓画像を見てください。
ポコポコとボタンが並んでますね?
が、これはあくまで「画像」としてすでに描かれている物なので、 実行中にボタンをくっつけたわけではありませんし、そういう機能はありません(^^;)
言い換えれば、ボタンに見えるような感じで、あらかじめ画像を作っておく必要があるのです。
(もちろん、必ずボタンっぽくしろ、と言うわけではありません。好きに作っていいのです)

それから上部のボックスですが、これを描く必要はありません。
ボタンと違い、これは実行時に上から貼り付けます。
電卓サンプル

右の拡大したボタンを見てください。
0のボタンがへこんでいるのが分かるでしょうか。
先ほど「あらかじめ画像を作っておく」と書きましたが、実は2枚描く必要があるのです。
「押す前の画像」「押したときの画像」です。

察しのいい方は気づかれたことでしょう。
右の状態は、1・2・+/-のボタン「押す前の画像」で、0のボタン「押したときの画像」になっているのです。
ボタンサンプル

ちょっと難しいこと言いますから、理解できるまで何度か読み返してください。
0ボタンの範囲内でクリックしたとき、0ボタンの画像を「押す前の画像」から、「押したときの画像」に切り替える
この処理を、各ボタンに対し、行っているのです。
ただし、例外として16進/10進ボタンは、16進が「押す前の画像」、10進が「押したときの画像」に割り当てられます。

ではボタンボックスの範囲、つまり位置や大きさは、どのように書けばよいのでしょうか。
さらに拡大したボタンです。
ボタンの左上隅と右下隅に、赤い線と黄緑色の点が見えるでしょうか?
この黄緑色の点こそが、CLDに記述すべき座標なのです。
じっくり考えてください。
ボタンの左上は、電卓全体でいうと、どの位置にあるのか。またボタンの右下は、電卓全体で言うと、どの位置にあるのか。
それが分かれば、ボタン位置や大きさ、つまりボタンの範囲が分かるのです。
ボタンサンプル2

結論を言います。これを理解できなければ一歩も進みませんので、頑張って理解してください。
CLDには、ボタンの左上隅のX,Y座標と、ボタンの右下隅のX,Y座標を記述する。

理解できましたか?実際に書くときには、「ボタンの左上隅のX,Y,ボタンの右下隅のX,Y」の様に書きます。
上のデフォルト電卓でいう0ボタンの場合、
8,160,43,191
と書くことになります。

今説明した座標の書き方、これが分かればもう大丈夫です。
あとは容易に理解できるでしょう。
さ、次のステップ(というか最終ステップ)に進みましょう!


ver2.9以前と以降では、CLDの書き方がちょっと変わります。 使用する書式を選んでくださいなっ♪

ver2.9以前の書式を使用する(旧verのSpoilerALでも使用可能)
ver3.0以降の書式を使用する(旧verのSpoilerALでは使用不可だが、こちらを推奨)