第2章 Visual Basic 5.0 の主なウィンドウ


この章の見出しの一覧

2.1 メインウィンドウ

 メインウィンドウとは/メインウィンドウの呼び出し方/ツールバーについて/メニューについて

2.2 プロジェクトエクスプローラ

 プロジェクトエクスプローラとは/プロジェクトエクスプローラの呼び出し方

2.3 フォームウィンドウ

 フォームウィンドウとは/コントロールとは/コントロールのロック/フォームウィンドウの呼び出し方/フォームウィンドウの便利な機能

2.4 フォームレイアウトウィンドウ

 フォームレイアウトウィンドウとは/フォームレイアウトウィンドウの呼び出し方

2.5 プロパティウィンドウ

 プロパティウィンドウとは/プロパティウィンドウとフォームウィンドウの結び付き/プロパティウィンドウの表示対象/プロパティの値の参照と設定/プロパティウィンドウの呼び出し方/プロパティウィンドウとオブジェクトの対応関係の変更

2.6 ツールボックス

 ツールボックスとは/コントロールのサイズの変更と移動/ツールボックスの呼び出し方/カスタムコントロールとは

2.7 メニューエディタ

 メニューエディタとは/メニューの標準化とメニューの置き換え (取り込み) /メニューエディタの呼び出し方/モーダルなウィンドウとモードレスなウィンドウ

2.8 コードウィンドウ

 コードウィンドウとは/コードウィンドウの便利な機能/イベントプロシージャとジェネラルプロシージャ/宣言セクションとプロシージャ/コードウィンドウの呼び出し方

2.9 デバッグのためのウィンドウ群 (イミディエイトウィンドウ、ウォッチウィンドウ、ローカルウィンドウ)

 デバッグのためのウィンドウ群とは/イミディエイトウィンドウに表示するログの活用例/デバッグ作業用のツールバー/デバッグのためのウィンドウ群の呼び出し方/Visual Basic の三つの状態/デバッグの手段1(ブレークポイントの設定)/デバッグの手段2(変数や式の値の参照)/デバッグの手段3(呼び出し履歴)/デバッグの手段4(ステップイン、ステップオーバー、ステップアウト)


Visual Basic 5.0 の主なウィンドウには、次の9種類 (デバッグのためのウィンドウ群は3つのウィンドウからなるので、細かくは11種類) があります。これらは言わば、あなたの召使として働くロボットだと思ってください。

召使のロボット

それぞれのウィンドウは、つまり召使たちは、それぞれの顔をもっています。顔写真をよく見て名前が一致するように、しっかりと記憶に留めてください。また、それぞれのウィンドウの役割も覚えてください。それぞれの召使たちの役割は、厳格に決まっていますから、例えば、掃除係に風呂炊きを命じても事がはこびません。

これらのウィンドウを使うときには、先ずはディスプレイ画面上にウィンドウを登場させることが必要です。ですから何はともあれ、これらのウィンドウを呼び出すための操作方法だけは、この章でマスタしてください。アイコンあるいはメニューという言わば“魔法のランプ”から召使たちを開発スタジオに登場させないことには、話が始まりません。

 --- Visual Basic 5.0 には、MDI 開発環境SDI 開発環境があり、どちらを選ぶかによって、操作性 (操作感) が異なります。どちらがよいかは、議論のあるところでしょうが、Visual Basic 4.0 に慣れている方は、従来と違和感のない SDI 開発環境にすることをお勧めいたします。本書では、SDI 開発環境にした場合を中心に説明してありますが、MDI 開発環境でも大きく異なるわけではありません。

 SDI 開発環境を用いるには、(Visual Basic 5.0 のツール(T) というメニュータイトルを開いて、その中のオプション(O)... というメニュー項目をクリックすると登場する) オプションというダイアログボックスの中の詳細設定というタブの中の SDI 開発環境(S) というチェックボックスにチェック印を付けて、更にドッキングというタブの中の全てのチェックボックスからチェック印を取り除いてください。そして、一旦 Visual Basic 5.0 を終了させた後に、再度立ちあげると、SDI 開発環境になります。---



2.1 メインウィンドウ


[メインウィンドウとは]

メインウィンドウは、次の形 (顔) をしています。

メインウィンドウ (ツールバーあり)

メインウィンドウは、Visual Basic 5.0 による開発作業を行うときに必ず登場させるものです。これは、召使たちの頭領格で主に指図をする役割を担っています。実際に何を行う場合も、メインウィンドウから必要なウィンドウ (召使) を呼び出すことができます。ですから、仕事の取っ掛かりを付けるために先ず始めに呼び出すべき召使です。

[メインウィンドウの呼び出し方]

メインウィンドウは、ディスプレイ画面上に一つだけしか登場させない (一つだけ登場させる) という習慣を付けるのがよいでしょう。特殊なケースでは、例えばクライアントアプリケーションとサーバアプリケーションを同時にデバッグするようなときには、二つ登場させることが必要になるかもしれません。しかし、これはあくまでも例外的なケースであって、通常は一つだけしか登場させないようにすることをお勧めいたします。

メインウィンドウを登場させるには、スタートボタンをクリックして、[スタート]メニューの中のプログラム(P) 欄を右にたどっていって、Visual Basic 5.0 のメニュー項目を見つけ出して、それをクリックしてください

なお、Windows NT 3.51 の場合は、プログラムマネージャ画面の中の次の形をした Visual Basic 5.0 のアイコンをダブルクリックしてください。

VB のアイコン

MANDALA と Visual Basic を併用する開発作業においては、スタートボタンをクリックして、[スタート]メニューの中のプログラム(P) 欄を右にたどっていって、MANDALA V5 というメニュー項目を見つけ出して、それをクリックしてください。

なお、Windows NT 3.51 の場合は、プログラムマネージャ画面の中の次の形の MANDALA のアイコンをダブルクリックしてください。こうすると、Visual Basic のメインウィンドウがディスプレイ画面上に登場するとともに MANDALA を利用するための準備が整います。

MANDALA のアイコン

Visual Basic または MANDALA を使用している最中は、このメインウィンドウをディスプレイ画面上に留めておくことが必要です。

使用をしばらく中断するときには、最小化 (アイコン化) するとよいでしょう。最小化 (アイコン化) するには、メインウィンドウの右上端の下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。

Visual Basic および MANDALA の使用を終えるときには、メインウィンドウの右上端のX印閉じるボタンをクリック、または左上端のアイコンをダブルクリック (Windows NT 3.51 では左上端のコントロールボックスをダブルクリック) して、このメインウィンドウを消してください。あるいは、メインウィンドウのファイル(F) というメニュータイトルを開いて、その中の Microsoft Visual Basic の終了(X) というメニュー項目をクリックすることによって消すこともできます。

[ツールバーについて]

メインウィンドウには、ツールバーを表示することもできますし、次の形 (顔) のように表示しないこともできます。ツールバーが表示されている最初の顔写真と少しばかり感じが違うかもしれませんが、同一人物です。

メインウィンドウ (ツールバーなし)

ツールバーを表示するかどうかを変更するには、メインウィンドウの表示(V) というメニュータイトルを開いて、その中のツールバー(T) というメニュー項目にマウスカーソルを移動させて第三階層のメニュー項目を出現させて、その中の標準というメニュー項目をクリックすることによって、標準ツールバーを表示したり消したり、サイクリックに変えることができます。ここで、実際に操作を行ってみてください。

注目
この操作だけでなく、それぞれのウィンドウの呼び出し方など、実際に操作しながら本書を読み進めることをお勧めいたします。

標準ツールバー

ツールバーには、頻繁に行う操作を凝縮したボタンが上の図のように張り付いています。ツールバーを表示しておくと、そういう操作がボタン一つで行えるので、とても便利です。このツールバーは、あなたのお好みに合わせてカスタマイズすることもできます (「第4章 Visual Basic 5.0 のカスタマイズ」 を参照してください)。ただし、本書では標準ツールバーをご使用になるものとして、それぞれのボタンの使い方をご案内いたします。

[メニューについて]

ツールバーのボタンは簡便なのですが、ボタンの数が多くなるとスペースを食いますし、見つけ難くなります。数多くの機能に対応するためには階層構造を設けるというような工夫が必要です。

この点メニューには、始めから階層構造が設けてあります。メニュータイトルが第一階層になっていて、第二階層以降にメニュー項目が連なる形態になっています。

具体例として、メインウィンドウを見ると、11個のメニュータイトルがあります。即ち、ファイル(F)編集(E)表示(V)プロジェクト(P)書式(O)デバッグ(D)実行(R)ツール(T)、アドイン(A)、ウィンドウ(W)、ヘルプ(H) の11個です。このどれか一つをクリックすると、そのメニューが開かれて、第二階層のメニュー項目が縦に並んで出て来ます。そこで、メニュー項目の一つをクリックすることによって Visual Basic に指示を与えることになります。なお、メニュー項目の右端に小さな黒い右向きの三角印がある場合、そのメニュー項目にマウスカーソルを移動させると第三階層 (以降) のメニュー項目が現われますから、その一つを選択してクリックすることによって Visual Basic に指示を与えることになります。「主要メニュー項目の索引」の中のメニューを開いた図を参照してください。

--- 本書では、Visual Basic 5.0 のメニューを索引の一つとして捕らえて、「主要メニュー項目の索引」という索引を設けてあります。そして、それぞれのメニュー項目が本書のどこに説明されているのか引き出せるようにしています。---

メニュータイトルを開いた上に、更にメニュー項目をクリックするのですから、少なくとも2回のクリック操作が必要になりますが、メニューは機能をグループ分けすることになるので、数多くの機能に対応することができます。また、一つ一つメニューを開いてその中を見ていくと、どんな機能があるのかその概略が分かる点、即ち機能の一覧が分る点も便利です。

メインウィンドウのメニューは、ツールバーと同様に、あなたのお好みに合わせてカスタマイズすることもできます。「第4章 Visual Basic 5.0 のカスタマイズ」 を参照してください。ただし、本書では標準メニューバーをご使用になるものとして、それぞれのメニュー項目の使い方をご案内いたします。



2.2 プロジェクトエクスプローラ


[プロジェクトエクスプローラとは]

プロジェクトエクスプローラは、次の形 (顔) をしています。以前は、プロジェクトウィンドウという名前で呼んでいましたが、Windows 系 OS のエクスプローラやインターネットエクスプローラと並ぶ“プロジェクトエクスプローラ”という名前になりました。

プロジェクトエクスプローラ

--- Visual Basic のプロジェクトとは“開発プロジェクト”というような意味ではありません。このプロジェクトという言葉の意味は“幾つかのモジュールから構成されたプログラム”に近いものだと考えてください。実際に、プロジェクトとは、幾つかのモジュールを集めた言わばモジュールの集合です。---

プロジェクトエクスプローラは、プロジェクトの代表としてメンバの一覧表を管理する召使です。そして、メンバの一覧表は、この召使を通して見ることができるようになっています。実際に、プロジェクトエクスプローラには、そのタイトルの部分にプロジェクト名が記載されており、その下の三つのボタンの下にプロジェクトを構成するメンバの一覧表、即ちモジュール一覧表が記載されています。

プロジェクトエクスプローラは、プロジェクトに対応して一つずつ存在するものだと思ってよいのですが、ディスプレイ画面上には、一つ (Visual Basic 一つに対して一つ) だけしか登場させることができません。詳しくいうと (後述する) カレントプロジェクトに対応するプロジェクトエクスプローラを一つだけ登場させることができます。

MANDALA を用いた開発では、次の三つのモジュールを共通ライブラリモジュールとして、必ずプロジェクトに追加する (付け加える) ことになっています。

・ Ae_MsgL0.bas

・ Ae_Proc.bas

・ Ae_Rsmr.bas

上に図示したプロジェクトエクスプローラの中に、モジュール一覧表がありますが、これら三つのモジュールが含まれていることを確認してください。なお、これらが含まれていない場合には、MANDALA による機械生成時に自動的に追加されるようになっています。

[プロジェクトエクスプローラの呼び出し方]

Visual Basic のメインウィンドウを登場させると、Form1 というフォームウィンドウと一緒にプロジェクトエクスプローラも登場します。

プロジェクトエクスプローラを使わないときには、最小化 (アイコン化) することもできますし、ディスプレイ画面上から消すこともできます。最小化 (アイコン化) するには、プロジェクトエクスプローラの右上端の下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。ディスプレイ画面上から消すには、プロジェクトエクスプローラの右上端のX印閉じるボタンをクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) してください。ただし、プロジェクトエクスプローラは、メインウィンドウの次によく使う召使ですから、通常はディスプレイ画面上に留めておいた方がよいでしょう。

プロジェクトエクスプローラボタン

ディスプレイ画面上から消されたプロジェクトエクスプローラを呼び出すには、上図のボタン、即ちメインウィンドウのツールバーの中のプロジェクトエクスプローラボタンをクリックしてください。または、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のプロジェクトエクスプローラ(P) というメニュー項目をクリックしてください。

因みに、このプロジェクトエクスプローラを呼び出す操作は、プロジェクトエクスプローラが既にディスプレイ画面上のどこかに登場している場合にも有効です。即ち、ディスプレイ画面上に数多くのウィンドウが重なっていて、どこにプロジェクトエクスプローラがあるのかを探すのが面倒なときには、この操作をすることでプロジェクトエクスプローラをディスプレイ画面の前面に浮き上がらせることができます。



2.3 フォームウィンドウ


[フォームウィンドウとは]

フォームウィンドウは、次の形 (顔) をしています。

フォームウィンドウ (コントロールなし)

フォームウィンドウは、アプリケーションプログラム (プロジェクト) の画面をデザインするときに使う召使です。スクリーンペインタとかスクリーンエディタという一般名称で呼ばれる召使の仲間ですが、Visual Basic では、特にフォームウィンドウという名前がついています。

上の顔写真は、まっさらの状態ですが、次の顔写真は、上のフォームウィンドウのサイズを大きくした後に、いろいろなコントロールを張り付けたものです。

フォームウィンドウ (コントロールつき)

フォームウィンドウの上では、ボタンやラベルやテキストボックスなどのコントロールを張り付けたり、色を塗ったりすることで、いわゆる画面のデザインを行います。なお、フォームウィンドウに方眼紙のようなグリッド (格子) があるのは、コントロールを張り付けるときの位置合わせのためです。グリッドに合わせることによって、整然とした配置にすることができます。

コントロールを張り付けるには、フォームウィンドウと一緒にツールボックスメニューエディタという召使を使います。そして、色を塗るには、フォームウィンドウと一緒にプロパティウィンドウという召使を使います。

フォームウィンドウは、Visual Basic のプロジェクトを構成するフォームモジュールに対応して一つずつ存在するものです。もしも、プロジェクトが複数のフォームモジュールから構成されている場合には、即ちそのアプリケーションプログラムが複数の画面を持つ場合には、それら複数のフォームウィンドウを次々とディスプレイ画面上に登場させていくこともできます。この章でご紹介している9種類 (細かくは11種類) のウィンドウを召使にたとえていますが、フォームウィンドウという召使は一人とは限らず、複数人のこともあるということになります。なお、後でご紹介するコードウィンドウについても同じことがいえます。

[コントロールとは]

コントロールとは、フォームウィンドウに張り付けられるものです。その種類をあげると、ボタン (正式にはコマンドボタンと呼ぶ) やラベルテキストボックス (文字列をインプットするためのエリア) やフレームオプションボタンチェックボックスコンボボックス垂直スクロールバー水平スクロールバーなどがあります。メニューもコントロールの一種です。

--- メニュー以外のコントロールは、ツールボックスから取り出してフォームウィンドウの上に張り付けますが、メニューというコントロールは、メニューエディタを使って張り付けます。---

[コントロールのロック]

フォームウィンドウに張り付けたコントロールは、移動することもサイズを変更することも簡単です。これがあまりにも簡単過ぎるために、従来は何かの拍子に誤って移動したりサイズを変更したりしてしまうことがありました。これを防止するためにコントロールのロックという機能が Visual Basic 4.0 から追加されています。ロックしておくと、コントロールを移動したりサイズを変更したりできなくなりますから、安心してフォームを見ることができます。

コントロールのロックをするには、メインウィンドウ書式(O) というメニュータイトルを開いて、その中のコントロールのロック(L) というメニュー項目をクリックしてください。この操作によっても、サイクリックにロックの設定と解除ができます。

なお、フォームがロック状態かどうかは、コントロールを (どれでも構いませんから) クリックしたときに出現する移動用の枠の形でわかります。

[フォームウィンドウの呼び出し方]

Visual Basic のメインウィンドウを登場させると、プロジェクトエクスプローラと一緒に Form1 というフォームウィンドウ (未だコントロールが張り付けられていないもの) が登場します。

フォームウィンドウを使わないときには、最小化 (アイコン化) することもできますし、ディスプレイ画面上から消すこともできます。

前述のプロジェクトエクスプローラの場合と同様に、最小化 (アイコン化) するには、フォームウィンドウの右上端あたりにある下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。ディスプレイ画面上から消すには、フォームウィンドウの右上端のX印閉じるボタンをクリック、またはウィンドウの左上端にアイコンをダブルクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) してください。

ディスプレイ画面上から消されたフォームウィンドウを呼び出すには、プロジェクトエクスプローラのモジュール一覧表の中の呼び出したいフォームモジュール名 (即ちファイル名) をクリックして反転表示にしてから、オブジェクトの表示というボタンをクリックしてください。または、プロジェクトエクスプローラのモジュール一覧表の中の呼び出したいフォームモジュール名 (即ちファイル名) をダブルクリックする方法もあります。

[フォームウィンドウの便利な機能]

--- フォームウィンドウにコントロールを張り付ける操作方法については「2.6 ツールボックス」を参照してください。以下には、張り付けた後に使える便利な機能について書いてあります。---

フォームウィンドウはスクリーンペインタ (スクリーンエディタ) として、画面のデザインが簡単にできるように工夫されています。例えば、次のことが指示一つでできる点が便利です。

これらの機能を使うには、書式(O) というメニュータイトルを開いて、その配下のそれぞれのメニュー項目をクリックしてください。なお、複数のコントロール (コントロール群) を対象にするには、コントロール群のまわりをドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) することによって破線の四角形をつくり、その中にコントロール群を入れてから、上記のメニューによる指示を与えてください。

--- これらの機能の多くは、Visual Basic 5.0 で新規に追加されたものです。---




2.4 フォームレイアウトウィンドウ


[フォームレイアウトウィンドウとは]

フォームレイアウトウィンドウは、次の形 (顔) をしています。

フォームレイアウトウィンドウ

フォームレイアウトウィンドウは、ディスプレイ画面上におけるフォームの配置を見たり、設定したりするときに使う召使です。

 --- Visual Basic 5.0 には、MDI 開発環境SDI 開発環境がありますが、どちらかというとフォームレイアウトウィンドウは、MDI 開発環境で活躍する召使です。---

[フォームレイアウトウィンドウの呼び出し方]

フォームレイアウトウィンドウボタン

フォームレイアウトウィンドウを呼び出すには、上図のボタン、即ちメインウィンドウのツールバーの中のフォームレイアウトウィンドウボタンをクリックしてください。

または、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のフォームレイアウトウィンドウ(F) というメニュー項目をクリックしてください。

因みに、このフォームレイアウトウィンドウを呼び出す操作は、フォームレイアウトウィンドウが既にディスプレイ画面上のどこかに登場している場合にも有効です。即ち、ディスプレイ画面上に数多くのウィンドウが重なっていて、どこにフォームレイアウトウィンドウがあるのかを探すのが面倒なときには、この操作をすることでフォームレイアウトウィンドウをディスプレイ画面の前面に浮き上がらせることができます。

フォームレイアウトウィンドウを使わないときには、最小化 (アイコン化) することもできますし、ディスプレイ画面上から消すこともできます。最小化 (アイコン化) するには、フォームレイアウトウィンドウの右上端の下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。ディスプレイ画面上から消すには、フォームレイアウトウィンドウの右上端のX印閉じるボタンをクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) してください。




2.5 プロパティウィンドウ


[プロパティウィンドウとは]

プロパティウィンドウは、次の形 (顔) をしています。

プロパティウィンドウ

プロパティウィンドウは、各種のプロパティの値を見たり設定したりするための召使です。これを使うことによって、フォームのプロパティの値、またはフォームの上に張り付けられたコントロールのプロパティの値を見たり設定したりできます。言わば、これはプロパティに関する専用エディタです。

プロパティとは、辞書によると“所有物”とか“特性”というような意味ですが、こう考えるよりも詳細情報種別または詳細情報そのものだと捕らえる方が分かりやすいでしょう。こう捕らえると、フォームのプロパティとは、フォームの詳細情報種別または詳細情報のことですし、コントロールのプロパティとは、コントロールの詳細情報種別または詳細情報のことだということができます。

--- プロパティウィンドウは、後述のコードモジュールのプロパティの値 (例えばコードモジュールのオブジェクト名) を見たり設定したりする場合にも使います。---

[プロパティウィンドウとフォームウィンドウの結び付き]

プロパティウィンドウは、本来ならばそれぞれのフォームウィンドウ (およびコードウィンドウ) ごとにあってもよさそうですが、スペースの関係からディスプレイ画面上に同時に一つ (正確には Visual Basic 一つに対して一つ) だけしか登場させることができないようになっています。

したがって、ディスプレイ画面上に複数のフォームウィンドウ (やコードウィンドウ) が登場しているときには、一つのプロパティウィンドウを切り換えながら使うことによって、どれか一つのフォームウィンドウ (またはコードウィンドウ) と連携プレーをさせることになります。

プロパティウィンドウとフォームウィンドウ (またはコードウィンドウ) との結び付きは、プロパティウィンドウの1行目 (即ちタイトルバー) に記載されています。この結び付きを変更するには、フォームウィンドウ (またはコードウィンドウ) をクリックしてください。こうすれば、プロパティウィンドウは、今クリックしたものと結び付くことになります。

[プロパティウィンドウの表示対象]

フォームウィンドウと結び付いているプロパティウィンドウは、フォームのプロパティを表示している場合とフォームに張り付けられた各種のコントロールのプロパティを表示している場合があります。後者の場合の注意事項ですが、フォームの上には、いろいろなコントロールを幾つも張り付けることができるので、プロパティウィンドウがどのコントロールのプロパティを表示しているのか、その対応関係に気を付けてください。

表示されているプロパティがどれのものかということは、プロパティウィンドウの2行目 (タイトルバーのすぐ下) に記載されています。即ち、フォームのプロパティを表示している場合はフォーム名が記載されていますし、コントロールのプロパティを表示している場合はコントロール名が記載されています。

因みに、フォームおよびコントロールなどを総称してオブジェクトと呼びます。この用語を用いると、プロパティウィンドウの2行目には、オブジェクト名が記載されているということができます。

[プロパティの値の参照と設定]

プロパティウィンドウの中央のタブの中は、左側にプロパティの名前、右側にプロパティの値を記載した一覧表になっています。

例えば、あるオブジェクトの色を塗るには、そのオブジェクトの BackColor というプロパティの名前をクリックして反転表示にしてから、その右の欄に適当な色の値を設定してください。色の値を設定するには、プロパティの値の欄の右端の下向き三角印のボタンをクリックするとパレットが現れますから、その中の色をクリックしてください。

[プロパティウィンドウの呼び出し方]

プロパティウィンドウボタン

プロパティウィンドウを呼び出すには、上図のボタン、即ちメインウィンドウのツールバーの中のプロパティウィンドウボタンをクリックしてください。

または、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のプロパティウィンドウ(W) というメニュー項目をクリックしてください。

なお、どのフォームのオブジェクトのプロパティを対象にするのかを明確にするために、呼び出し操作の前か後に、フォームウィンドウをクリックしてフォーカスをあてることが必要です。

因みに、このプロパティウィンドウを呼び出す操作は、プロパティウィンドウが既にディスプレイ画面上のどこかに登場している場合にも有効です。即ち、ディスプレイ画面上に数多くのウィンドウが重なっていて、どこにプロパティウィンドウがあるのかを探すのが面倒なときには、この操作をすることでプロパティウィンドウをディスプレイ画面の前面に浮き上がらせることができます。

プロパティウィンドウを使わないときには、最小化 (アイコン化) することもできますし、ディスプレイ画面上から消すこともできます。最小化 (アイコン化) するには、プロパティウィンドウの右上端の下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。ディスプレイ画面上から消すには、プロパティウィンドウの右上端のX印閉じるボタンをクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) してください。

注目
これらの操作方法は、既におなじみのものです。一般に、こういった操作の共通性に着目すると、覚えた操作を広く応用できるようになります。

[プロパティウィンドウとオブジェクトの対応関係の変更]

プロパティウィンドウは、ディスプレイ画面上のどれか一つのフォームウィンドウ (またはコードウィンドウ) と結び付いていて、その中のある一つのオブジェクトのプロパティを表示しています。プロパティウィンドウの2行目 (タイトルバーのすぐ下) には、そのオブジェクト名が記載されているので、プロパティウィンドウとオブジェクトの対応関係は一目瞭然です。

プロパティウィンドウとオブジェクトとの対応関係を変更するには、フォームウィンドウ (またはコードウィンドウ) をクリックしてフォーカスをあててください。この操作はフォームウィンドウの場合、どの部分をクリックするかによって次の違いがあります。

あるフォームウィンドウフォーム部分をクリックすると、プロパティウィンドウは、そのフォームウィンドウと結び付いてそのフォームプロパティを表示します。そのフォームに対応づけられるわけです。

あるフォームウィンドウの上に張り付けられている (メニュー以外の) あるコントロールをクリックすると、プロパティウィンドウは、そのフォームウィンドウと結び付いてそのコントロールプロパティを表示します。そのコントロールに対応づけられるわけです。



2.6 ツールボックス


[ツールボックスとは]

ツールボックスは、次の形 (顔) をしています。

ツールボックス

ツールボックスは、フォームウィンドウ上に張り付けることのできるコントロールを保管している召使です。ここからコントロールを取り出すことができます。

上図のツールボックスには、次のコントロールが保管されています。

 −−−−−−−−     ピクチャーボックス    ラベル

 テキストボックス     フレーム         コマンドボタン

 チェックボックス     オプションボタン     コンボボックス

 リストボックス      水平スクロールバー    垂直スクロールバー

 タイマー         ドライブリストボックス  ディレクトリリストボックス

 ファイルリストボックス  シェイプ         ライン

 イメージ         データ          OLE

ツールボックスの中のコントロールを一つ選んで、そのアイコンをクリックしてへこませた後に、フォームウィンドウの中の適当な場所でドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) を開始してください。すると破線の四角形ができますから、できたところでマウスのボタンを離すと、そこにコントロールが張り付けられます。繰り返の説明ですが、ツールボックスの中のアイコンを一つへこませてからでないと、うまく張り付けられません。

なお、張り付け先を示す破線の四角形フォームウィンドウのフォーム部分につくると、指定したコントロールをフォームの上に張り付けることになります。

また、張り付け先を示す破線の四角形フォームウィンドウの中のフレームなどのコントロールの中につくると、指定したコントロールをフレームなどのコントロールの中に張り付けることになります。こうすると、コントロール間に親子関係が付き、フレームなどの親コントロールを移動させると、その中の子コントロールも一緒に移動するようになります。

[コントロールのサイズの変更と移動]

フォームの上に張り付けたコントロールも、コントロールの中に張り付けた子コントロールも、張りつけた後で、サイズの変更移動をすることができます。

コントロールのサイズを変更するには、その外枠をドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) してください。これは、ウィンドウのサイズを変更するときに、その外枠をドラッグするのと同じ要領であり、マウスカーソルが上下矢印や左右矢印に変わったところで、ドラッグを始めてください。

コントロールを移動させるには、コントロールの中央をクリックして、そのままドラッグしてください。

複数のコントロール (コントロール群) を一括して移動させるには、先ず移動したい幾つかのコントロールのまわりをドラッグすることによって破線の四角形をつくり、その中にコントロールを入れてください。次に、その中の (どのコントロールでも構いませんから) 一つのコントロールの中央をクリックして、そのままドラッグしてください。破線の四角形の中のコントロールを一括して移動させることができます。

なお、コントロールが親子関係をもつ場合には、コントロールの中に張り付けた子コントロールは、親コントロールの外に移動させることはできません。

[ツールボックスの呼び出し方]

ツールボックスボタン

ツールボックスを呼び出すには、上図のボタン、即ちメインウィンドウのツールバーの中のツールボックスボタンをクリックしてください。または、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のツールボックス(X) というメニュー項目をクリックしてください。なお、ツールボックスを使うときには、コントロールを張り付ける相手となるフォームウィンドウを登場させないと意味がありません。

ツールボックスを使わないときには、ディスプレイ画面上から消すことができます。ツールボックスの右上端のX印閉じるボタンをクリック (Windows NT 3.51 の場合には左上端の小さなコントロールボックスをダブルクリック) すると消えます。

[カスタムコントロールとは]

カスタムコントロールには、例えば立体的に見えるボタンとか、スプレッドシートの構造をもつコントロールとか様々な種類があります。Visual Basic の標準コントロール以外にも、いろいろなコントロールを張り付けて利用してみたいというアプリ開発者の要求に応えて、幾つかの会社がカスタムコントロールを開発して販売しています。

カスタムコントロールは、カスタムコントロールモジュールというファイルの中に (一つまたは幾つかをまとめて) 入れて、保存したり持ち運んだりします。

上記のツールボックスの顔写真は、カスタムコントロールが入っていない (標準コントロールだけを保管している) ときの顔です。カスタムコントロールモジュールをプロジェクトに追加する (付け加える) と、この顔にはカスタムコントロールのアイコンが張り付けられます。

そして、ツールボックスの中から標準コントロールだけでなくカスタムコントロールも選べるようになります。つまり、カスタムコントロールもフォームウィンドウ上に張り付けることができるようになるわけです。

なお、カスタムコントロールをツールボックスに追加したり削除したりするには、先ずメインウィンドウプロジェクト(P) というメニュータイトルを開いて、その中のコンポーネント(O)... というメニュー項目をクリックしてください。すると、コンポーネントというダイアログボックスが登場しますから、その中のそれぞれのカスタムコントロールに対応するチェックボックスを変更してください。




2.7 メニューエディタ


[メニューエディタとは]

メニューエディタは、次の形 (顔) をしています。

メニューエディタ

メニューエディタは、フォームの中のメニューのデザインをするときに使う召使です。言わば、メニューに関する専用エディタだといえます。

メニューエディタは、メニューを新たに張り付けるときだけではなく、既に張り付けられているメニューを変更するためにも、削除するためにも使うことができます。

一般に、コントロールをフォームウィンドウに張り付ける操作は、ツールボックスから取り出してフォームウィンドウの上へという流れになります。しかし、メニューというコントロールだけは、別扱いになっていて、このメニューエディタという召使を使って張り付けます。

メニューエディタを使ってメニューの編集を終えると、そのメニューはフォームウィンドウに出現しますから、意図した通りのメニューになっているかどうかをフォームウィンドウの上で確認することができます。

複数のフォームモジュールから構成されるプロジェクトにおいては、どのフォームのメニューを対象にするのか明確にしなければなりません。メニューの編集作業を始めるときには、フォームウィンドウをクリックしてフォーカスをあててください。こうすると、「このフォームのメニューを対象にするのだ」 と宣言したことになります。

[メニューの標準化とメニューの置き換え (取り込み)]

数多くの画面プログラムから構成される業務アプリケーションシステムを開発するときに、各画面のメニューを統一性のある形にしたいというような標準化が求められたりします。

こんなときには、メニューのひな型 (標準形) をフォームモジュールにコピーできると好都合です。しかし、残念なことにメニューエディタには、この機能がありません。そこで出番となるのが、MANDALAメニューの置き換え (取り込み) を行う機能です。

先ずは、メニューエディタを用いてメニューのひな型をデザインしておき、次にメニューの置き換え (取り込み) 機能を用いてメニューのひな型をフォームモジュールにコピーすれば目的を達成することができます。そして、数あるフォームの中には、標準形からはずれたメニューにしたいものもあるでしょうから、そういうものは、コピーをした後にメニューエディタを使って部分的に変更すればよいわけです。

[メニューエディタの呼び出し方]

メニューエディタボタン

メニューエディタを呼び出すには、上図のボタン、即ちメインウィンドウのツールバーの中のメニューエディタボタンをクリックしてください。または、メインウィンドウツール(T) というメニュータイトルを開いて、その中のメニューエディタ(M)... というメニュー項目をクリックしてください。

--- これらの操作が有効なのは、フォームウィンドウにフォーカスがあたっている場合だけです。ですから、これらの操作の前に、どのフォームのメニューを対象にするのかを指定するために、フォームウィンドウをクリックしてフォーカスをあてることが必要です。---

メニューの編集作業が済んだら、メニューエディタの OK というボタンをクリックしてください。そこで編集した新版のメニューをフォームに反映することができます。

今編集したばかりの新版を捨てたいときには、キャンセルというボタンをクリックしてください。メニューは、編集作業を行う前の形に戻ります。

OK またはキャンセルというボタンをクリックすると、メニューエディタはディスプレイ画面上から消えます。

[モーダルなウィンドウとモードレスなウィンドウ]

本題から少しそれますが、ここで注目していただきたいことがあります。それは、メニューエディタが呼び出されてから消されるまでの間、他の Visual Basic のウィンドウの操作が一切できなくなるということです。

このことを、メニューエディタはモーダルであるという言い方をします。この章でご紹介している9種類 (細かくは11種類) のウィンドウのうちメニューエディタだけがモーダルで、他の8種類はモードレスです。

一般的にダイアログボックスと呼ばれるウィンドウは、普通モーダルになっています。

モーダルなウィンドウが出現したときには、モーダルなウィンドウの操作を最優先で行ってください。いや、こうするしかありません。こうすることによって、そのウィンドウに関する操作を終えると、そのモーダルなウィンドウは消え去り、その仲間の他のモードレスなウィンドウに関する操作を行うことができるようになります。



2.8 コードウィンドウ


[コードウィンドウとは]

コードウィンドウは、次の形 (顔) をしています。

コードウィンドウ

コードウィンドウは、アプリケーションプログラム (プロジェクト) のプログラムコードを見たり書いたりするときに使う召使です。テキストエディタとかエディタという一般名称で呼ばれる召使の仲間ですが、Visual Basic では、特にコードウィンドウという名前がついています。

コードウィンドウは、Visual Basic のプロジェクトを構成するフォームモジュールおよび各コードモジュールに対応して一つずつ存在するものです。そして、複数のモジュール (フォームモジュールやコードモジュール) を持つプロジェクトの場合には、それらの複数のコードウィンドウを次々とディスプレイ画面上に登場させていくこともできます。この章でご紹介している9種類 (細かくは11種類) のウィンドウを召使にたとえていますが、コードウィンドウという種類の召使は一人とは限らず、複数人のこともあるということになります。この点に関しては、ご紹介済のフォームウィンドウと同じです。

コードウィンドウは、重ねた二枚の紙切れのような構造になっています。

一般に、コードウィンドウの中には数多くのプロシージャが組み込まれているのが普通ですから、少なくともその内の二つを同時に見たいことがよくあります。 こんなときには、前面の紙切れを中ほどまで下にずらすと、二つのプロシージャを表示する態勢が整います。また、二枚の紙切れのそれぞれには、一つのプロシージャの“ある部分”とそこから離れた“別の部分”を同時に表示することもできます。

プログラムコードをカットアンドペースト (またはコピーアンドペースト) するときには、この二枚重ねの構造はとても便利です。

[コードウィンドウの便利な機能]

コードウィンドウはテキストエディタとして、Visual Basic の(ソース)コードを編集しやすいように工夫されていますし、更に(ソース)コードのデバッグがしやすいようになっています。例えば、次のような点が便利です。

なお、これらの機能の半分ぐらいは、Visual Basic 5.0 で新規に追加されたものです。

[イベントプロシージャとジェネラルプロシージャ]

フォームモジュールの中には、フォームウィンドウを通して見ることのできるオブジェクト詳細情報、およびコードウィンドウを通して見ることのできるプログラムコードが入っています。

コードモジュールの中には、フォームウィンドウを通して見ることのできる部分はなく、コードウィンドウを通して見ることのできるプログラムコードだけが入っています。



                        (宣言セクション、プロシージャ)


フォームモジュール = オブジェクト詳細情報 + プログラムコード


                ↑           ↑


            [フォームウィンドウ]   [コードウィンドウ]


                            ↓


コードモジュール  =              プログラムコード


                     (宣言セクション、ジェネラルプロシージャ)





即ち、フォームモジュールのプログラムコードコードモジュールのプログラムコードコードウィンドウを通して見ることができます。

フォームモジュールのプログラムコードの中には、各種のオブジェクトと結び付いたイベントプロシージャ、および特定のオブジェクトとの結び付きのないジェネラルプロシージャなる両方の種類のプロシージャを組み入れることができます。

他方、コードモジュールの中にはオブジェクトを入れることができませんから、コードモジュールのプログラムコードの中には、ジェネラルプロシージャという種類のプロシージャだけしか組み入れることができません。

これは、コードウィンドウの左上のプロシージャの種類を表すコンボボックスを開くことで確認できます。フォームモジュールの場合、ここにはオブジェクト名の一覧が記載されていますが、コードモジュールの場合、ここにはジェネラルプロシージャを意味する (General) という文字列しか現れません。

MANDALA を用いた開発においては、フォームモジュールに組み込まれるプログラムコードは原則として全て機械生成されます。更に、二・三のコードモジュールも機械生成されますし、また三つのコードモジュールが共通ライブラリとして提供されます。したがって、アプリ開発者が開発するプロシージャは、これ以外のコードモジュールのジェネラルプロシージャだけであるということになります。

ところで、Visual Basic のイベントは、ハードウェアの動作と密接に関係したローレベルのものですが、このレベルのイベントプロシージャは全て機械生成されてしまいます。ですから、アプリ開発者は、ローレベルのイベントのハンドリングに頭をひねる必要がなくなります。しかし、業務内容に依存するプログラムコードは機械生成されません。ですから、アプリ開発者が活躍するのは、業務依存の高級イベントルーチンの開発に関する辺りだということになります。

[宣言セクションとプロシージャ]

コードウィンドウを通して見ると分かることですが、フォームモジュールのプログラムコードの中にも、コードモジュールのプログラムコードの中にも、一つの宣言セクションと幾つかのプロシージャが入っています。正確にいうと、プロシージャは一つもないことがありますが、宣言セクションは必ず一つあります。

コードウィンドウの中の宣言セクションを見るには、左上のプロシージャの種類を表すコンボボックスの中の (General) という文字列を選択し、更に右上のプロシージャ名を一覧にしたコンボボックスの中の (Declarations) という文字列を選択してください。

プロシージャを見るには、これ以外の選択をします。即ち、イベントプロシージャを見るには、左上のプロシージャの種類を表すコンボボックスの中からオブジェクトを選択した後に、右上のプロシージャ名を一覧にしたコンボボックスの中から目指すプロシージャを選択してください。また、ジェネラルプロシージャを見るには、左上のプロシージャの種類を表すコンボボックスの中の (General) という文字列を選択した後に、右上のプロシージャ名を一覧にしたコンボボックスの中から目指すプロシージャを選択してください。

MANDALA を用いた開発において、宣言セクションは、Option Explicit というステートメントで始める規約になっています。こうすると、変数宣言必須 (変数の宣言を強制すること) になりますから、変数のスペルミスが見つけやすいプログラムになります。変数の宣言を省略可にすると、変数のスペルミスに悪戦苦闘するはめになるので、こうすることはお勧めできません。

--- 各モジュールの宣言セクションに Option Explicit というステートメントを自動的に付加するための指定方法については、「第4章 Visual Basic 5.0 のカスタマイズ」 を参照してください。---

[コードウィンドウの呼び出し方]

コードウィンドウを呼び出すには、プロジェクトエクスプローラのモジュール一覧表の中の対応するフォームモジュール名またはコードモジュール名 (即ちファイル名) をクリックして反転表示にしてから、コードの表示というボタンをクリックしてください。

または、それがコードモジュールに対応するものであれば、プロジェクトエクスプローラのモジュール一覧表の中のコードモジュール名 (即ちファイル名) をダブルクリックすることで呼び出すこともできます。

--- 因みに、フォームモジュール名をダブルクリックするとフォームウィンドウが呼び出されます。---

コードウィンドウを使わないときには、最小化 (アイコン化) することもできますし、ディスプレイ画面上から消すこともできます。毎度おなじみのように、最小化 (アイコン化) するには、コードウィンドウの右上端あたりにある下線印 (Windows NT 3.51 の場合は下向き三角印) 最小化ボタンをクリックしてください。ディスプレイ画面上から消すには、コードウィンドウの右上端のX印閉じるボタンをクリック、またはウィンドウの左上端にアイコンをダブルクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) してください。

フォームモジュールのコードウィンドウを呼び出すには、別の方法もあります。その方法は、フォームウィンドウのオブジェクトをダブルクリックすることです。こうすると、コードウィンドウが呼び出されて、そのオブジェクトに関するイベントプロシージャを見ることができます。

--- MANDALA を用いた開発においては、フォームモジュールの中のプログラムコードは原則として全て機械生成されてしまいますから、この種のコードウィンドウを呼び出す必要はありません。誤ってオブジェクトをダブルクリックしたときには、登場したコードウィンドウの右上端のX印閉じるボタンをクリック、またはウィンドウの左上端にアイコンをダブルクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) して消してください。---




2.9 デバッグのためのウィンドウ群


[デバッグのためのウィンドウ群とは]

デバッグのためのウィンドウ群は、主にアプリケーションプログラムを Visual Basic インタープリタのもとで実行させた後 (開始の指示を与えた後) に活躍する召使たちであり、その役割はデバッグの支援です。

Visual Basic 4.0 の時代はデバッグウィンドウという名前の一つのウィンドウしかなかったのですが、Visual Basic 5.0 ではデバッグ機能の強化にともなって三つのウィンドウに分化しました。即ち、イミディエイトウィンドウ、ウォッチウィンドウ、ローカルウィンドウの三つがデバッグ作業を支援することになりました。

昔のデバッグウィンドウは、上部がウォッチペインで、下部がイミディエイトペインというドッキング (連結) した構造になっていました。Visual Basic 5.0 のウォッチウィンドウは昔のウォッチペインに相当するものであり、イミディエイトウィンドウは昔のイミディエイトペインに相当するものです。なお、ローカルウィンドウはニューフェイスです。

--- Visual Basic 5.0 においても、ドッキングの指定によって、イミディエイトウィンドウとウォッチウィンドウを連結させることができます。こうすると昔のデバッグウィンドウと同じような構造になります。ドッキングの指定は、これだけでなく、例えばプロジェクトエクスプローラプロパティウィンドウを連結させようなこともできます。

 ドッキングさせるには、(メインウィンドウツール(T) というメニュータイトルを開いて、その中の オプション(O)... というメニュー項目をクリックすると登場する) オプションというダイアログボックスの中のドッキングというタブの中のチェックボックスにチェック印を付けてください。---

イミディエイトウィンドウは、次の形 (顔) をしています。

イミディエイトウィンドウ

イミディエイトウィンドウに Visual Basic のステートメントを一行インプットして、Enter キーを押下すると、そのステートメントを即実行させることができます。

--- Visual Basic 5.0 からは、プログラムの実行を中断させたときだけでなく、プログラムのデザイン状態でもイミディエイトウィンドウを用いることができるようになりました。---

イミディエイトウィンドウは、実行のログをとるためにも使えます。コードウィンドウの中に Debug.Print というステートメントを張り付けておくと、そこを実行する度に、実行の状況を示すメッセージがイミディエイトウィンドウに一行ずつ書き出されていきます。したがって、これを見ることによってプログラムの動きを知ることができます。

ウォッチウィンドウは、次の形 (顔) をしています。

ウォッチウィンドウ

変数を組み合わせた式の値 (または変数の値) を見るために、あらかじめウォッチ式の指定をしておくと、ウォッチウィンドウにその値が表示されます。したがって、式の値の変化を観察するのに便利です。

ローカルウィンドウは、次の形 (顔) をしています。

ローカルウィンドウ

中断点においてそのプロシージャで使われているローカル変数の値は、ローカルウィンドウに表示することができます。

--- ウォッチウィンドウに式の値を表示するには、あらかじめウォッチ式の指定をしておくことが必要ですが、ローカルウィンドウには何の指定もせずにローカル変数の値を表示できます。---

[イミディエイトウィンドウに表示するログの活用例]

デバッグの手段の一つにブレークポイントがあります。これはなかなか有効です。しかし、タイミングクリティカルなイベントプロシージャの中にブレークポイントの設定をして中断させると、その後の動作が中断しない場合の動作と異なってしまい、混乱におちいることがあります。詳しくは Visual Basic 5.0 の 「プログラミングガイド」 というマニュアルの中の「13.17 デバッグに関する注意点」を参照してください。このような場合には、混乱を避けて、ブレークポイントというデバッグ手段は使わないようにすることです。この代わりに、Debug.Print というステートメントを用いてイミディエイトウィンドウに実行のログをとることをお勧めしています。

--- この他にも、イミディエイトウィンドウのログは次のように活用することができます。それは MANDALA高級イベントルーチンがどのようなタイミングで呼び出されるのかを習得するため仕掛けの中に見ることができます。

MANDALA Rensyuu3.vbp というプロジェクトを Visual Basic (インタープリタ) のもとで実行させると、イミディエイトウィンドウに画面対応の高級イベントルーチンのログが時々刻々と表示されるようになっています。アプリケーションプログラムを操作しながらこのイミディエイトウィンドウを見ることは、画面対応の高級イベントがどのような場合に発生するのかを理解する上でとてもに役立ちます。---

[デバッグ作業用のツールバー]

デバッグ作業をするときには、以下に示すデバッグ作業用のツールバーを登場させると便利です。

デバッグ作業用のツールバー

デバッグ作業用のツールバーを登場させるには、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のツールバー(T) というメニュー項目にマウスカーソルを移動させて第三階層のメニュー項目群を出現させて、その中のデバッグ というメニュー項目をクリックしてください。

または、メインウィンドウのツールバーの上でマウスの右ボタンをクリックして、ポップアップメニューを表示させて、その中のデバッグ というメニュー項目をクリックしてください。

なお、このツールバードラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) してメインウィンドウの中にドロップする (目標の個所でマウスの左ボタンを元に戻す) と、メインウィンドウの中にこのツールバーを組込むことができます。この場合は、標準ツールバーについては、表示を消すか、あるいはツールバーの左端の二本の縦線をドラッグして、メインウィンドウの外にドロップするとよいでしょう。

[デバッグのためのウィンドウ群の呼び出し方]

デバッグのためのウィンドウ群のうちイミディエイトウィンドウは、次のように実行状態にすると自動的に呼び出されます。

開始ボタン

実行状態にするには、上図のボタン、即ちメインウィンドウのツールバーの中の開始ボタンをクリックしてください。または、メインウィンドウ実行(R) というメニュータイトルを開いて、その中の開始(S) というメニュー項目をクリックしてください。あるいは、ファンクションキー F5 を押下してください。

このどれかの操作をすると Visual Basic が実行状態になりアプリケーションプログラムの実行が開始して、同時にイミディエイトウィンドウが登場します。

--- この操作方法は一般によく使われるようですが、これではアプリケーションプログラムの文法違反のチェックが完全には行われません。ですから、この操作方法の代わりに、次の操作をするように習慣づけることをお勧めいたします。それは、メインウィンドウ実行(R) というメニュータイトルを開いて、その中の完全コンパイル後に開始(F) というメニュー項目をクリックするか、またはキーボード上の Ctrl キーを押したまま更にファンクションキー F5 を押下するという操作方法です。こうすると、アプリケーションプログラムの文法違反のチェックが完全に行われます。---

デバッグのためのウィンドウ群を呼び出すには、メインウィンドウ表示(V) というメニュータイトルを開いて、その中のそれぞれのメニュー項目をクリックしてください。即ち、イミディエイトウィンドウならばイミディエイトウィンドウ(I) というメニュー項目を、ウォッチウィンドウならばウォッチウィンドウ(H) というメニュー項目を、ローカルウィンドウならばローカルウィンドウ(S) というメニュー項目を、それぞれクリックしてください。

デバッグのためのウィンドウ群の呼び出しボタン

デバッグのためのウィンドウ群を呼び出すには、デバッグ作業用のツールバーの中のボタンをクリックする方法もあります。上図の三つは、左からそれぞれローカルウィンドウボタン、イミディエイトウィンドウボタン、ウォッチウィンドウボタンです。

因みに、デバッグのためのウィンドウ群を呼び出す操作は、これらのウィンドウがディスプレイ画面上のどこかに既に登場している場合にも有効です。即ち、ディスプレイ画面上に数多くのウィンドウが重なっていて、どこにこれらのウィンドウがあるのかを探すのが面倒なときには、この操作をすることで目指すウィンドウをディスプレイ画面の前面に浮き上がらせることができます。

デバッグのためのウィンドウ群を使わないときには、ディスプレイ画面上からそれぞれのウィンドウを消すことができます。目指すウィンドウの右上端のX印閉じるボタンをクリック (Windows NT 3.51 の場合には左上端のコントロールボックスをダブルクリック) すると消えます。

[Visual Basic の三つの状態]

Visual Basic には、デザイン状態実行状態中断状態の三つの状態があります。

プロジェクトを開くと、最初はデザイン状態になります。この状態では、画面のデザインやプログラムコードのインプットや修正を自由に行うことができます。

アプリケーションプログラムの開始の指示を与えると、実行状態になります。この状態では、インタープリタの働きによって正にプログラムが実行しているわけですから、画面のデザインを行うことができませんし、プログラムコードのインプットや修正を行うこともできません。また、プログラムの中の変数の値を見ることもできません。

実行状態を中断させて中断状態にすると、プログラムの中の変数の値を見ることができるようになりますし、若干の制限がありますがプログラムコードを修正できるようになります。ただし、中断状態では、画面のデザインを変更することはできません。

中断ボタン

実行状態から中断状態に変更するには、上図のボタン、即ちメインウィンドウのツールバーの中の中断ボタンをクリックしてください。または、メインウィンドウ実行(R) というメニュータイトルを開いて、その中の中断(K) というメニュー項目をクリックしてください。こうすると中断状態にすることができます。

ところが、プログラムがモーダルなダイアログボックスを表示しているときなどには、メインウィンドウの機能が働かないために、上記の操作方法では中断状態にすることができません。このような場合には、キーボード上の Ctrl キーを押したまま更に Pause (Break) キーを押下して、実行状態から中断状態に強制的に変更してください。

--- これらの手操作では、プログラムの中の意図したステップで中断させることは困難です。意図したステップで中断させたい場合には、後述のブレークポイントの設定を行ってください。---

中断状態は、デバッグの便をよくするためのものです。後述のデバッグの手段1、2、3、4は、どれも皆、中断状態のときに使うことができます。

プログラムの実行が終了するとデザイン状態に戻ります。または、手操作でデザイン状態に戻すこともできます。

終了ボタン

実行状態または中断状態からデザイン状態に変更するには、上図のボタン、即ちメインウィンドウのツールバーの中の終了ボタンをクリックしてください。または、メインウィンドウ実行(R) というメニュータイトルを開いて、その中の終了(E) というメニュー項目をクリックしてください。こうすると一般にはデザイン状態に戻すことができます。

ところが、プログラムがモーダルなダイアログボックスを表示しているときなどには、メインウィンドウの機能が働かないために、上記の操作方法ではデザイン状態にすることができません。このような場合には、キーボード上の Ctrl キーを押したまま更に Pause (Break) キーを押下して、実行状態から中断状態に強制的に変更してください。こうすれば、その後でデザイン状態に戻すことができます。

[デバッグの手段1(ブレークポイントの設定)]

デバッグ作業の中では、しばしばブレークポイントの設定をしますが、これはなかなか有力な手段です。あるステートメントにブレークポイントの設定をしておくと、そこを実行する直前に中断状態になります。したがって、そのステートメントが実行されるかどうかを知ることができますし、またバグのありそうな前あたりで中断させて問題の箇所を詳しく調べるための準備体勢を整えることもできます。

ブレークポイントの設定をするのは非常に簡単です。コードウィンドウの中の目指すステートメントの左端の帯 (マージン) をクリックして赤丸を表示させるだけで、そのステートメントにブレークポイントの設定をすることができます。そして、この操作を繰り返すことで、複数のステートメントにブレークポイントの設定をすることができます。なお、設定済みの赤丸をクリックすると、ブレークポイントの解除ができます。

ブレークポイントの設定 (および解除) は、中断状態だけでなく、実行状態やデザイン状態においても行うことができます。

[デバッグの手段2(変数や式の値の参照)]

中断状態では、種々の方法で変数や式の値を見ることができます。

一番簡単な方法は、マウスカーソルをコードウィンドウの変数の上にもっていくことです。これだけで、その変数の値を見ることができます。このことをインスタントウォッチと呼びます。ただし、この方法では式の値を見ることはできません。

また、ローカルウィンドウを登場させると、中断したプロシージャで使われているローカル変数の値を見ることができます。ただし、この方法でも式の値を見ることはできません。

式の値を見るには、クイックウォッチ機能を使います。

クイックウォッチするには、先ず、どの式の値 (または変数の値) を見たいのかを明確にするために、コードウィンドウの中の式 (または変数) をマウスでドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) して反転表示にしてください。

クイックウォッチボタン

次に上図のボタン、即ちデバッグ作業用のツールバーの中のメガネ印のクイックウォッチボタンをクリックしてください。または、メインウィンドウデバッグ(D) というメニュータイトルを開いて、その中のクイックウォッチ(Q)... というメニュー項目をクリックしてください。あるいは、Shift キーを押したまま更にファンクションキー F9 を押下してください。

このどれかの操作をすると、クイックウォッチというダイアログボックスが登場して、そこに式の値 (または変数の値) が表示されます。

--- Public 変数はどこででも見ることができるはずにもかかわらず、クイックウォッチというダイアログボックスに <対象範囲外> と表示されてしまい、その値を参照できないことがあります。このような場合には、後述のウォッチ式の追加およびウォッチ式の編集という操作をすると、その値を見ることができるようになります。---

ウォッチ式の追加の指定をしておくと、変数や式の値をウォッチウィンドウに表示されるようになります。頻繁に見たい式の値は、見たいと思うたびにクイックウォッチの操作をするよりも、ウォッチ式の追加をしておく方が便利です。

ウォッチ式の追加を行うには、コードウィンドウの中の反転表示の式 (または変数) をマウスでドラッグ (マウスの左ボタンをクリックしたままの状態でのマウスの移動) して、ウォッチウィンドウにドロップしてください (ウォッチウィンドウのところでマウスの左ボタンを元に戻してください)。

または、クイックウォッチというダイアログボックスの中の追加(A) というボタンをクリックしてください。

あるいは、デバッグ(D) というメニュータイトルを開いて、その中のウォッチ式の追加(A)... というメニュー項目をクリックして、ウォッチ式の追加というダイアログボックスを用いて追加してください。

Public 変数はどこででも見ることができるはずにもかかわらず、ウォッチウィンドウに <対象範囲外> と表示されてしまい、その値を参照できないことがあります。このような場合には、ウォッチ式の編集という操作をすると、その値を見ることができるようになります。

ウォッチ式の編集を行うには、先ず、ウォッチウィンドウの中の編集したい式をクリックして反転表示に変えてください。

次に、デバッグ(D) というメニュータイトルを開いて、その中のウォッチ式の編集(E)... というメニュー項目をクリックしてください。

こうすると、以下に示すウォッチ式の編集というダイアログボックスが登場します。

ウォッチ式の編集

この中のモジュール(M): というコンボボックスに (すべてのモジュール) という値を設定すると、どこで中断しても Public 変数を表示できるようになります。

なお、ウォッチ式の編集というダイアログボックスの中のウォッチの種類として式のウォッチ(W) 以外を選択した後に、実行を開始すると、ブレークポイントの設定とは一味違う条件により中断状態にすることができます。

[デバッグの手段3(呼び出し履歴)]

中断状態では、呼び出し履歴を見ることができます。

呼び出し履歴ボタン

呼び出し履歴を見るには、上図のボタン、即ちデバッグ作業用のツールバーの中の呼び出し履歴ボタンをクリックしてください。または、メインウィンドウ表示(V) というメニュータイトルを開いて、その中の呼び出し履歴(K)... というメニュー項目をクリックしてください。

[デバッグの手段4(ステップイン、ステップオーバー、ステップアウト)]

中断状態では、プログラムの実行のステップを追跡していくことができます。一ステップずつ実行させるにはステップイン (シングルステップ) を用いますし、呼び出したプロシージャの中身を追跡せずに呼出し側だけに着目してステップを追うにはステップオーバー (プロシージャステップ) を用います。また、呼出し元のプロシージャに戻るにはステップアウトを用います。

ステップインボタン

ステップインを実施するには、上図のボタン、即ちデバッグ作業用のツールバーの中のステップインボタンをクリックしてください。または、メインウィンドウデバッグ(D) というメニュータイトルを開いて、その中のステップイン(I) というメニュー項目をクリックしてください。あるいは、ファンクションキー F8 を押下してください。

ステップオーバーボタン

ステップオーバーを実施するには、上図のボタン、即ちデバッグ作業用のツールバーの中のステップオーバーボタンをクリックしてください。または、メインウィンドウデバッグ(D) というメニュータイトルを開いて、その中のステップオーバー(O) というメニュー項目をクリックしてください。あるいは、Shift キーを押したまま更にファンクションキー F8 を押下してください。

ステップアウトボタン

ステップアウトを実施するには、上図のボタン、即ちデバッグ作業用のツールバーの中のステップアウトボタンをクリックしてください。または、メインウィンドウデバッグ(D) というメニュータイトルを開いて、その中のステップアウト(U) というメニュー項目をクリックしてください。あるいは、Ctrl キーと Shift キーを両方とも押したまま、更にファンクションキー F8 を押下してください。



eee MANDALA

ブラウザの戻る (Go Back) のボタンを押して元に戻るか、第3章または目次のページに進んでください。

また、アプリテック株式会社のホームページhttp://www.applitech.co.jp/のこの他の情報もご覧ください。


Copyright (C) 1995-1997 By AppliTech, Inc. All Rights Reserved.
eee, SSS/Win, RRR は、ウッドランド株式会社から販売されている製品です。
MANDALA は、アプリテック株式会社の商標として登録の申請を済ませています。
Visual Basic, Windows, Windows NT, ActiveX は、米国マイクロソフト社の商標です。
(ME97V532)