第五回・Windowsプログラムの動作の仕組み

さて、四回にわたって簡単なプログラムを作ってみましたが
実は前回までのようなプログラムはかなり邪道です。
Windowsの一般的なプログラムではウィンドウを作り、
ユーザーとやりとりしながら動作するのが普通です。

今回からはウィンドウを持つプログラムを作っていきましょう。
・・・・と思いましたが実際に作るのは次回からにして
今回はWindowsではどのようにプログラムが動作しているのか
考えていきましょう。

 Windowsのプログラムはよくイベントドリブンであると言われます。
日本語に訳すと「イベントで動かされる」という意味・・・・・かな?

 具体的に説明してみましょう。
 まず、プログラムが起動します。ウィンドウが作られて
最初の描画が行われて起動が完了しました。ではその後プログラムは
何をするでしょう?答えは「何もしない」です。何もせずにあとは
ただひたすらイベントが起こるのを待っています。

 ここで言うイベントとは主にユーザーからの操作です。マウスや
キーボード、その他の入力装置からの操作によってプログラムは
再び動き出します。ですがどんな操作をしても動き出すわけではなく
特定の操作のみに対して動作します。

 内部的にはどんなやりとりをしているのかと言うと、ユーザーが
何かするとWindowsがプログラムにメッセージを送り、プログラムは
そのメッセージを見てそれにあった動作をするわけです。

 このメッセージですが実に多くのメッセージが存在しています。
マウスを例にすると少し動かしただけでも「この座標に動いたぞ」
というメッセージが送られ、マウスのボタンを押したとき、
離したときにもそれぞれ別のメッセージが送られています。

 つまり、Windowsのプログラミングでは、どのメッセージが
送られてきたときにどんな動作をするかという感じで作っていきます。
例えばウィンドウの右上にある×のボタンを押したときはWM_CLOSE
というメッセージが送られます。これは終了の合図なので、
このメッセージが来たときはウィンドウを破棄してプログラムを
終了させます。終了して良いか確認したい場合はWM_CLOSEメッセージが
来た時にメッセージボックスを出して確認し、良ければ終了する
・・・といった具合にプログラミングします。

今回はここまでです。お疲れさまでした。
次回は実際にウィンドウを作るやり方を解説します。今回の
内容と見比べながらだと理解しやすいでしょう。

戻る