−トップへ−

ボタンコンポーネント

ここでは,ボタンコンポーネントについて述べていきます。ボタンはコンポーネントの中でもよく使うものです。呼び出し方は,トップページの[はじめに]>[ファイルの保存について]で書きましたので,そちらを見てください。ここではそれに補足をしておきます。
 左の図は画面の右上ですが,赤い四角の中に[コードエクスプローラー]と[コンポーネント]があります。
 通常は[コードエクスプローラー]が選択されていますが,[コンポーネント]を選択すると,コンポーネントの一覧が表示されます。これは画面上のツールバーにあるコンポーネント一覧と同じものですが,表示は見やすくなっていると思います。どちらを使うかは好みの問題です。
 フォームエディタでフォームにボタンコンポーネントを貼り付けると右のような図になります。

 ここで画面の左を見ると下の図のようになっていると思います。
 赤い四角の中に,[Form1]と[Button1]が表示されていると思いますが,これはフォーム1にボタンコンポーネントが貼り付けられたことを表しています。そして図では,[Button1]が選択されていますが,この状態では下のプロパティの欄には[Button1]の情報が表示されています。
 次にこのプロパティについて述べていきます。
 ボタンコンポーネントを見て,まず気になるのはボタンの上に表示されている「Button1」の文字だと思います。これを変えるのは,プロパティの中の[Captin]です。そこを見ると,「Button1」と書かれているので,それを変えてみてください。その変化はフォームエディタで確認できると思います。
 次にその文字の大きさを変えてみます。文字のスタイルを変えるのは,プロパティの中の[Font]です。[Font]の欄の一番右側に[…]のマークがありますが,そこをクリックすると右のような画面が現れます。ここで文字スタイルを変えて[OK]を押すとフォームエディタで変化を確認できます。
 プロパティの中で他によく使うのは,ボタンコンポーネントの左上角の座標を決める[left]と[Top]や,大きさを決める[Height]と[Width]です。これらを使うと複数個のボタンを規則正しく並べることが出来ます。
 最後に1つ…。プロパティの中に[Color]がありますが,これを変えてもボタンの色は変わりません。私としてはこれは残念です。

ボタンコンポーネントのイベント

 ボタンコンポーネントのイベントと言えば「OnClik」ですが今回は別のイベントも試してみます
 まず,フォームにボタン1とボタン2を貼り付けてください。
 次にボタン1の[OnClik]のイベントを呼び出し,ボタン2は[OnMouseDown]と[OnMouseUp]のイベントを呼び出してください。これでコードエディタには次の文字列ができたと思います。

procedure TForm1.Button1Click( Sender : TObject );
begin

end;

procedure TForm1.Button2MouseDown( Sender : TObject ; Button : TMouseButton ;
Shift : TShiftState ; X , Y : Integer );
begin

end;

procedure TForm1.Button2MouseUp( Sender : TObject ; Button : TMouseButton ;
Shift : TShiftState ; X , Y : Integer );
begin

end;

 それぞれのイベントのときの処理を記述してみます。

//ボタン1をクリックしたとき
procedure TForm1.Button1Click( Sender : TObject );
begin
  if button2.visible = true then //もしボタン1が見えていたら
    button2.visible := false //ボタン1を消す
  else button2.visible := true ; //それ以外はボタン1を見えるようにする
end;
//マウスボタンが押されたとき
procedure TForm1.Button2MouseDown( Sender : TObject ; Button : TMouseButton ;
Shift : TShiftState ; X , Y : Integer );
begin
  form1.coler := clred ; //フォーム1の色を赤にする
end ;
//マウスボタンが上がったとき
procedure TForm1.Button2MouseUp( Sender : TObject ; Button : TMouseButton ;
Shift : TShiftState ; X , Y : Integer );
begin
  form1.coler := clwhite ; //フォーム1の色を白にする
end;

 処理の入力が終わったら早速実行してみてください。このときスペルミスなどがあると, 実行したときにコードエディタの下の欄に赤い警告が出ます。そのようなときは警告のでた行と内容を確認して修正してください。

 上のボタン1がクリックしたときの処理の中で「if」を使いましたが,基本的な使い方は以下の通りです。

  if (式) then (処理);

 これは,(式)が真ならば(処理)を行う,という意味です。「if」の書式は他にもあり,

  if (式) then (処理1) else (処理2):

 これは,(式)が真ならば(処理1)を行い,(式)が偽ならば(処理2)を行う,という意味です。この文は1つの文ですが,文の途中で改行しても結果は変わりません。なので,自分のわかりやすいところで,改行してください。例えば…,

  if (式) then (処理1)
  else (処理2):

または,

  if (式) then
   (処理1)
  else
   (処理2):

などと記入することも出来ます。

−トップへ−