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.