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



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

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

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

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


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

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

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

ではボタンボックスの範囲、つまり位置や大きさは、どのように書けばよいのでしょうか。

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

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

理解できましたか?実際に書くときには、「ボタンの左上隅のX,Y,ボタンの右下隅のX,Y」の様に書きます。ただし、左上隅のX,Y座標に指定した点は含みますが、右下隅のX,Y座標に指定した点は含みません。
上のデフォルト電卓でいうAボタンの場合、
5,171,34,195
と書くことになります。(X34,Y195の点は含みません)

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


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

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