VisualBasic アプリケーションの構造
アプリケーションは実際には、コンピュータにタスクを完了するように指示する一連の命令にすぎません。アプリケーションの構造は、命令が編成される方法、つまり命令が格納される場所と命令が実行される順序です。
典型的な helloworld の例とこのような単純なアプリケーションは、単純な構造を持っています。単一行のコードの場合、構成はそれほど重要ではありません。しかし、アプリケーションが複雑になればなるほど、組織的または構造的な要件がより明確になります。アプリケーションをランダムな順序で実行できた場合に生じる混乱を想像してみてください。構造は、アプリケーションの実行の制御に加えて、アプリケーション内の特定の命令を簡単に見つける方法においても重要な役割を果たします。
Visual Basic アプリケーションはオブジェクトベースであるため、アプリケーションのコード構造は、画面上のプログラムの物理的表現のモデルとなります。定義上、オブジェクトにはデータとコードが含まれます。画面に表示されるフォームは、フォームの外観と基礎的な特性を定義するプロパティを表します。アプリケーション内の各フォームには、そのコードを含むフォーム モジュール (ファイル拡張子 .frm) が関連付けられています。
各フォーム モジュールには、特定のイベントに応答して実行される命令を含むコードのセクションであるイベント プロシージャが含まれています。フォームにはコントロールを含めることができます。フォーム モジュールには、フォーム上の各コントロールに対応するイベント プロシージャのセットがあります。イベント プロシージャに加えて、フォーム モジュールには、任意のイベント プロシージャからの呼び出しに応答する汎用プロシージャを含めることができます。
特定のフォームまたはコントロールに関連しないコードは、別のタイプのモジュール、つまり標準モジュール (ファイル拡張子 .BAS) に配置できます。プロシージャは、複数の異なるオブジェクトのイベントに応答するために使用できます。このプロシージャは、各オブジェクトのイベント プロシージャで同じコードを繰り返すのではなく、標準モジュールに配置する必要があります。
クラス モジュール (ファイル拡張子 .CLS) を使用して、アプリケーション内のプロシージャによって呼び出すことができるオブジェクトを作成します。標準モジュールにはコードのみが含まれますが、クラス モジュールにはコードとデータの両方が含まれ、物理的な表現を持たないコントロールとみなすことができます。
第 4 章「プロジェクト管理」では、アプリケーションに追加できるコンポーネントについて説明します。この章では、アプリケーションを構成するさまざまなコンポーネントにコードを記述する方法について説明します。デフォルトでは、プロジェクトには固有のフォーム モジュールが含まれています。必要に応じて、フォーム、クラス、標準モジュールを追加できます。第 9 章「オブジェクトを使用したプログラミング」では、クラス モジュールについて説明します。
イベント駆動型アプリケーションの仕組み
イベントは、フォームまたはコントロールによって認識されるアクションです。イベント駆動型アプリケーションは、イベントに応答して Basic コードを実行します。 Visual Basic の各フォームとコントロールには、事前定義されたイベントのセットがあります。これらのイベントのいずれかが発生し、関連するイベント プロシージャにコードがある場合、Visual Basic はそのコードを呼び出します。
Visual Basic のオブジェクトは事前に定義された一連のイベントを自動的に認識しますが、オブジェクトが特定のイベントに応答するかどうか、またどのように応答するかを決定するのはプログラマの責任です。コードセクション (つまり、イベントプロシージャ) が各イベントに対応します。コントロールをイベントに応答させたい場合は、イベントのイベント プロセスにコードを書き込みます。
オブジェクトによって認識されるイベントには多くのタイプがありますが、ほとんどのタイプはほとんどのコントロールに共通です。たとえば、ほとんどのオブジェクトは Click イベントを認識します。フォームをクリックすると、フォームの Click イベント プロシージャのコードが実行され、コマンド ボタンをクリックすると、コマンド ボタンの Click イベント プロシージャのコードが実行されます。それぞれの場合の実際のコードはほぼ完全に異なります。
イベント駆動型アプリケーションにおける一般的なイベントのシーケンスを次に示します。
1. アプリケーションを起動し、フォームをロードして表示します。
2. フォーム (またはフォーム上のコントロール) がイベントを受け取ります。イベントは、ユーザー (キーボード操作など)、システム (タイマー イベントなど)、またはコード (コードがフォームを読み込むときの Load イベントなど) によって間接的にトリガーできます。
3. 対応するイベント中にコードが存在する場合は、そのコードを実行します。
4. アプリケーションは次のイベントを待ちます。
多くのイベントが他のイベントとともに発生することに注意してください。たとえば、DblClick イベントが発生すると、MouseDown、MouseUp、および Click イベントも発生します。
->