初歩のGUI

これまでの説明は、これからの説明の前提知識になります。とはいえ、GUIでプログラムを作ること自体は簡単です。

ところで、ウインドウやボタンなどマウスで操作するアプリケーションをGUI( Graphical User Interface ) アプリケーションと呼びます。今まで作っていたプログラムのことをCUI (Character based User Interface)アプリケーション と呼びます。Borland C++ Builderは起動直後に既にGUIアプリケーション作成の準備はできています。

それでは簡単なボタンとテキストを表示するプログラムを作ってみましょう。

ボタンを張ります。まず、上の図のようにボタンをクリックして周りが凹んだ状態にします。

その状態でマウスを点が並んでいるウインドウでドラッグすると上の図のようにボタンが現れます。このボタンを貼り付けたウインドウのことをフォームと呼びます。

次にAと書かれたボタンをクリックしてください。

ボタンと同様に貼り付けます。この貼り付けたものはラベルと呼ばれるもので、文字を表示するために使います。

貼り付けたボタンをクリックしてみてください。左側のオブジェクトインスペクタにボタンの様々なパラーメータが現れます。実は、貼り付けたボタンはTButtonクラスのインスタンスです。プロパティはTButtonクラスのメンバ変数のことです。このボタンのポインタがButton1です。つまりこういうことです。

TButton* Button1;

オブジェクトインスペクタを使うとメンバ変数の初期値をプログラミングしなくても設定できます。(実際には初期化するコードが自動的に生成されます。)

それでは、ボタンの文字を変えて見ましょう。

Captionはボタンに表示される文字列です。その右側に”押して”と入力します。これは以下のようなコードに相当します。

Button1->Caption = "押して";

今度は、ラベルをクリックして同様にCaptionの初期値を設定しましょう。これは以下のようなコードに相当します。

Label1->Caption = "押さないで";

 

次にボタンを押したときの動作を記述しましょう。ボタンをダブルクリックしてください。

するとこのようなテキストエディタが出て、TForm1::Button1Clickという名前の空の関数が表示されます。実行時にボタンが押されるとこの関数が実行されます。
よってこの中にコードを記述することによってボタンが押されたときの動作を記述できます。

上の図のように描いてみましょう。ラベルの文字を変えています。

それでは、実行ボタンを押してコンパイル&実行してみてください。

上手くいくと上のようなウインドウが表示されます。これが今作ったプログラムです。ボタンを押してみてください。

ラベルの文字が変わりました。

このように、GUIで簡単にプログラムを作ることのできる環境をRAD(Rapid Application Development)環境といいます。もちろんBorland C++ BuilderもRAD環境です。


もう一つ作ってみましょう。

今度はボタンを2つ貼り付けてください。

左側のボタンのEnabledプロパティをfalseにします。Enabledプロパティはボタンを使える状態にするかしないかを決めます。falseを設定すると使えなくなります。

左側のボタンをダブルクリックしてボタンの押されたときの動作を記述します。どういう動きをするのかは考えてみてください。

今度は右側のボタンの動作を記述します。

では、実行してみてください。

ボタンを交互に押してください。


今度は、文字を入力するプログラムです。

文字入力は、このボタンを使います。エディットボックスを呼びます。

このようにフォームに貼り付けます。

エディットボックスのプロパティTextに入力される文字列が格納されます。初期値としてエディットボックスと同じ名前の文字列が入っていますがどちらも消してしまいます。

ボタンをダブルクリックして、上のようなコードを記述します。

実行して、上のエディットボックスに文字を入力してボタンを押してみてください。

それでは、課題をやりましょう。