WindowsCEプログラミング入門 1
1. Windowsプログラムの基本構造(メッセージとイベント)
よく、Windowsはメッセージ駆動型(ドリブン)である、と言われます。また、
イベント駆動型であるとも言われます。これはどういう意味なのでしょうか。
まず、従来のプログラミングを見てみましょう。
開始
初期処理
A入力待ち
A演算
B入力待ち
B演算
終了処理
終了
このように、入力待ちと演算を順番に行うという形でプログラムを実現して
いました。もちろん、入力待ちが無い場合や、結果表示が入る場合、条件分岐
等の構文が使われる場合もあります。
では、Windowsを思い浮かべて下さい。プログラムは終了を指定するまで動き
続け、Aという行動(例えばボタンをクリック)には対応する結果(例えばウィン
ドウが閉じる)が出てきます。これを上記の方法の延長として実現します。
開始
入力判定
Aならば
A演算
入力判定に戻る
Bならば
B演算
入力判定に戻る
終了ならば
終了処理
終了
Windowsプログラミングをかじったことがある方なら、switch-case文で実現
されたこの形をどこかで見たことがあると思います。この入力が"イベント"で
あり、イベントによって動作が決まり、プログラムが処理を行います。そのた
め、イベントが駆動させる、すなわち『イベント駆動型』と呼ばれるわけです。
また、あるイベントが発生した際にプログラムにそれを伝えるのに"メッセー
ジ"を用います。そこで、メッセージ駆動型とも呼ばれるわけです。
Windowsの基本は上記の入力判断→集約されるといってもいいでしょう。それ
が、何故複雑怪奇になってしまっているかというと、下記の2点が原因です。
・入力判定するべき入力が多岐に渡っており、ユーザーからの入力とは限ら
ない
・演算や結果表示の方法が沢山あり、用途毎に使い分けなければならない
Windowsでは複数のソフトウェアが同時に動くことが多いですから、他のソフ
トウェアの影響が入力になることがあります。また、通信や機器制御の影響が
入力になることもあります。
Windowsに限った話ではありませんが、ある結果を得るために複数の方法が
あるというのは当たり前のことです。例えば、ある文字列と別の文字列を比較
したいという場合でも、strcmp関数を使う方法もあれば、strlen関数とmemcmp
関数を組み合わせて使う方法もあります。Windowsで困るのは、このような例が
極めて大量にあることで、一番適切な方法を選ぶのが難しいことです。
この講座では、なるべく具体例を挙げながら分かりやすく説明したいと考え
ています。
戻る
All contents and programs Copyright 1996,97,98 (C) by Masaki "
Brahma
" Tsumori all rights reserved.