# ボタンなど、ＧＵＩ部品を使う

> | Windows と、言えば、グラフィカルに、マウスで、ボタンを押したり、リストから必要なものを選んだり・・・という、マウス操作が基本ですね。これまで見てきたのは、全てマウスを使わない操作ばかりでしたが、これから、より、Windowsらしいソフトを作っていきましょう！

## ボタンを押すと、気持ちよくなるソフトの開発

> 私たち人間は、誉められたり、他人から好かれたりすると、嬉しくなったり、気持ちよくなったりしますよね。そこで、これから、ボタンを押すと、そういう気持ちになるソフトを作りましょう。

> ひまわりなら、ボタンを作るのも、簡単です。

> １．ボタンの作り方

> 適当ボタンを、作る。

> なんと、これだけ！
> 他のプログラム開発環境ですと、ボタン1個作るだけでも、何十行ものプログラムを書かなくてはならないのですが、さすがひまわり！
> たった1行でＯＫです。

> ２．ボタンのテキストを変えてみる。
> 「押して」というラベルを持ったボタンを作りたいとします。
> そんなときは、

> `押してボタンを、作る。`

> と、ボタンの名前を、『（ボタンのテキスト）ボタン』、即ち、『●●ボタン』と言う名前にします。

> `適当ボタンを、作る。 その、テキストは、「押して！」。`

> さて、ボタンのテキストを、途中で「押して！」に変えたいときは、上のように、『その、テキストは、「●●」。』と、書けば良いのです。
> これで、ボタンのテキストが、「押して！」に、なったはずです。
> 当然ですが、もし、この、「押して！」の部分を、「太郎君」ですとか、「マリリン」に、変更すれば、その通りになります。

> `Aボタンを、作る。 その、テキストは、「マリリン」。`

> どうでしょうか？！意味不明ですね（＾ｖ＾；。
> ２行目の、「その」の部分を、「Aボタン」と、書いてもうまく動作します。
> ただ、何度も、Aボタンと書くのは、面倒ですので、「Aボタン」を、「その」で、代用しているわけです。

> Aボタンを、作る。 Aボタンの、テキストは、「マリリン」。

> （↑１つ上と全く同じ意味）

> ３．ボタンを押したときの動作を設定する。

> Aボタンを、作る。 その、テキストは、「押して！」。 その、イベントは、（「あなたは素敵な人です。」と、言う。） 待機。｛←イベント待ち｝

> これで、ボタンをクリックすると、メッセージが表示されます。
> ボタン１の、テキストやら、イベントやら、これらの設定項目を、設定することにより、ボタンの外観や押した時の動作を、変更設定することが出来ます。
> また、上のサンプル中に「待機」という命令がありますが、もし、この待機を、書いておかないと、実行してすぐメッセージを表して、終了してしまいます。
> これは、プログラムを走らせると、どんどん、プログラムの上から下へと、実行してしまうからです。ボタン１を、作成した時点で、「待機」しておけば、ユーザーが何か行動を起こすまで、待機を書いた場所で、ずっと「待機」し続けます。

> ３-2．ボタンを押したときの動作を設定する、その２。

> Aボタンを、作る。 その、テキストは、「押して！」。 その、イベントは、ボタン１のイベント。 待機。 ＊ボタン１のイベント 「あなたは素敵な人です。」と、言う。 おわり。

> これで、ボタンをクリックすると、メッセージが表示されて、プログラムが終了します。
> 上(3-2)のように、イベントの動作のかわりに、ラベル名を書いておくと、ボタンを押したときに、そのラベルへジャンプします。これで、長い長いプログラムを書いたときも安心ですね。

> ４．気持ちよくなるボタン

> `Ａボタンを、作る。 その、テキストは、「押して！」 その、イベントは、ボタン１のイベント。 待機。 ＊ボタン１のイベント ３の、乱数。’０〜２の適当な数を、それに得る。 もし、それが、０ならば、「私、あなたに、惚れました。」と、言う。 もし、それが、１ならば、「とにかく、あなたは、カッコいい！」と、言う。 もし、それが、２ならば、「優しいし、強いし、好奇心旺盛だし、あなたってスゴイ！」と、言う。`

> さて、「Ａボタンを、作る。」という書き方ですが、「Ａボタンを、ボタンとして、作成。」と、書いても同じ意味になります。
> この場合、名前の最後に、「ボタン」がついてなくてもＯＫです。よって、「ウナギを、ボタンとして、作成。」と、書いてもＯＫです。

> ５．ボタンの位置を変える
> 作成時に、ボタンの表示位置を変えるには、座標位置を、(X,Y)の形で指定して、

> （Ｘ，Ｙ）に、ボタン名前を、ボタンとして、作成。

> と、書きます。
> 実際に書いてみると、以下のような感じです。

> (100,100)に、テストボタンを、ボタンとして、作成。

> また、日本語っぽく

> ボタン１を、ボタンとして、作成。 （ボタン１の、右側）に、ボタン２を、ボタンとして、作成。

> なんて、書き方も出来ます。

> ６．「作る」命令について
> もし、「終了ボタン」とか、「スタートボタン」とか、名前の最後に、ボタンという単語を入れると、ボタンとして、オブジェクトを作成します。
> ボタンだけでなく他にも、『食べ物メモを、作る。』と書けば、食べ物メモという名前の、メモ部品を、作成します。

> `適当エディタを、作る。 終了ボタンを、作る。 その、イベントは、おわり。`

> と、作成に比べて、引数も少なく、覚えやすいかと思います。

→設定項目や詳しい部品の種類は、こちら
→「それ」「その」などの代名詞についての説明は、こちら

目次戻る／次へ