各コンポーネントのイベントを追加する


前項でコンポーネントの配置をしたが、配置しただけではクリックしても何の処理も行わない張子でしかない。
各コンポーネントに、イベントに対応する処理を追加する必要がある。

event01.jpg(13410 byte)
上の絵のようにエディットボックスとボタンをそれぞれ一つ配置し、ボタンが押されたらエディットボックスの文章が変化するというイベント処理を作ってみる。


event02.jpg(23363 byte)
まずエディットボックスの文章を変化させるための変数を設定する。
エディットボックスにフォーカスを合わせて、右クリックを押そう。
ポップアップメニューの中から「ClassWizard(W)...」という項目を選び、クリックする。


event03.jpg(35405 byte)
ClassWizardの「メンバ変数」タブを押し、現在配置しているコンポーネントの一覧を表示する。
このIDC_BUTTON1というコントロールIDがボタン1に、IDC_EDIT1というコントロールIDがエディットボックスに割り振られている。
IDC_EDIT1を選び、「変数の追加」ボタンをクリックする。


event04.jpg(14253 byte)
メンバ変数名の入力を求められるので、適当な変数名を入力する。
例としてm_editStrという名前でメンバ変数を設定する。


event05.jpg(38848 byte)
ClassWizardで、エディットボックスのコントロールIDの隣に、CString型のメンバ変数が登録されているのがわかる。
このメンバ変数を変更することで、エディットボックス内の文字列を変えることができる。
例えば、「Hello world!」としたい場合は上図のようにプログラミングする。

event06.jpg(6286 byte)



次は、「ボタンが押された」というイベントを追加する。
「ボタン1」にフォーカスを合わせて右クリックし、「イベントの追加」項目を選ぶ。


「新規ウィンドウメッセージとイベントハンドラを追加」というウィンドウが現れる
左のイベント一覧からBN_CLICKEDというイベントを選び、右のハンドラの追加(A)ボタンを押す。
関数の名前は特に変更する必要が無く、そのままOKボタンを押す。




event06.jpg(6286 byte)
作成されたOnButton1()関数内に、さっきのこの三行を記述をする
これでボタンを押すとテキストボックスの文字が変わるプログラムの完成である。



<< コンポーネントの配置