イベントの記述

[ つぎ | うえ ]

ビジュアルプログラミング(Visual Programming)の際には、これまでのコンソールベースプログラミング(Console Base Programming)とは、異なったプログラミング手法が必要となります。

ビジュアルプログラミングは、以下のように常にウインドウが出現します。このウインドウをここでは フォーム(form)またはフレーム(frame)と言います。最初に、コントロールを配置します。

この例では、ボタンコントロール(Button Control)を2つ配置しています。


通常は、このフォームへの入力は、ボタンのクリック(click)やテキストボックスへの文字列の入力である。この入力であるクリックや、文字列の入力をイベント(event)という。


イベント駆動プログラミング

通常は、イベントに対してなんらかの処理をします。その処理を指示するためにプログラムを記述します。このプログラムをイベント駆動プログラム(event driven program)といいます。

例えば、ボタンのためのイベント駆動プログラムは以下のようになります。

このプログラムを記述するためには、フォーム上のコントロールであるボタンをダブルクリック(double click)することによりできます。


イベント駆動プログラム

イベントプログラムは、これまでのC言語と同様のプログラミングを行います。しかし、コントロールに対する処理などは、特有のプログラミングを必要としますので、注意が必要です。以降の章で説明していきます。


文字列から整数値への変換

ビジュアルプログラミングの時の入力と、出力には、例え数値であっても文字列として入力しなければなりません。そのため、まず、文字列から数値、数値から文字列への変換をマスターしなければなりません。まず、整数値への変換を紹介します。

char cstr[80];
hEdit0.GetWindowText(cstr,80);
int i = atoi(cstr);

文字列は、文字型の配列に格納するため char cstr[80]; として宣言します。通常、Editコントロールから入力するため、hEdit0.GetWindowText(cstr, 80); とし入力する(hEdit0 は、Edit コントロールの名前)。文字列から整数値に変換するためには、atoi (Ascii To Interger) 関数を用いればよい。

char cbuf[80];
sprintf(cbuf, "%d", i);
hEdit1.SetWindowText(cbuf);

逆に、文字列に戻すためには、格納用の char cbuf[80]; を用意し、sprintf 関数を用います。その際に、書式指定文字として %d を用います。最後に、hEdit1.SetWindowText(cbuf); とし Edit コントロールに戻します。


文字列から小数点数(double 型の値) への変換

double 型の値への変換も同様に処理することができます。

char cstr[80];
hEdit0.GetWindowText(cstr,80);
double d = atof(cstr);

文字列は、文字型の配列 cstr に格納し、hEdit0.GetWindowText(cstr,80); としEdit コントロールから入力します。double 型の値に変換するためには、atof 関数を用います。

char cbuf[80];
sprintf(cbuf, "%f", i);
hEdit1.SetWindowText(cbuf);

文字列に戻す場合もどうように、char cbuf[80]; を用意し、sprintf 関数を用い、書式指定文字は、%f を用い変換します。


[ つぎ | うえ ]
yasu@i.hosei.ac.jp