VisualBasicで電卓を作ってみる 2
1. 基本ボタン
ボタン欄にベースとなるボタンをButtonLayoutに1つだけ追加します。
追加位置は1列1行目とします。
Name:CalcButton
Cell:0,0
Dock:Fill
Font:Size:36
2. ボタン配置 (考察)
基本ボタンをコピーしすべてのボタンを配置していきます。
付属電卓では3種類のボタンがあり、それぞれ色分けがされています。このデザインをパクリます。
ボタンの種類:
(a) 数字ボタン (少し明るいグレー)
(b) 演算ボタン (少し暗いグレー)
(c) イコール (ピンク)
ボタンの配置は基本ボタンをプログラムにてコピーする予定ですが、レイアウト設定をどのように行うか考え中。。
2次元配列を持たせて、そこにボタンのキャプションを持たせる手もある。
dim buttonLayout(,) As String {
{"%","CE","C","←"},
{"1/x","x2","2√x","÷"},
{"7","8","9","×"},
:
}
といった感じで。
でも、これだとボタンの色をどうするか?ボタンを押した処理をどうするか?
のうまい知恵が思いつきません・・
今回は単純にボタンの処理クラスを作って、そこに
座標、色、クリック時の処理、を持たせてコレクション化することにします。
ボタン配置はこのコレクションをループさせて配置する、という流れです。
→ 座標を持たせるのは止めます。
座標を持たせてしまうと、ボタンの位置をずらしたい時に、修正範囲が広くなってしまうから。
表示位置は、単にコレクションへの登録順とします。
3. ボタンクラス
先ほどの検討結果を踏まえて、ボタンクラスの構造を考えます。
・すべてのボタン共通のインターフェースクラス ICalcCommand