VisualBasic コントロールの概要
Visual Basic ツールボックスのツールを使用して、フォーム上にコントロールを描画できます。
コントロールの分類
Visual Basic コントロールには、大きく次の 3 つのカテゴリがあります。
1. コマンドボタンやフレームコントロールなどの内部コントロール。これらのコントロールは、Visual Basic .exe ファイル内にあります。ツールボックスに追加または削除できる ActiveX コントロールやプラグ可能オブジェクトとは異なり、内部コントロールは常にツールボックスに表示されます。
2. ActiveX コントロールは、拡張子 .ocx を持つ独立したファイルです。これには、Visual Basic のさまざまなバージョンで提供されるコントロール (DataCombo、DataList コントロールなど) と、プロフェッショナル バージョンとエンタープライズ バージョンでのみ提供されるコントロール (リストビュー、ツールバー、アニメーションと TabbedDialog)、サードパーティが提供する多くの ActiveX コントロールに加えて。
ファイル拡張子 .vbx のコントロールは古いテクノロジを使用しており、以前のバージョンの Visual Basic で作成されたアプリケーションに含まれている場合があることに注意してください。 Visual Basic は、.vbx コントロールを含むプロジェクトを開くと、既定で .vbx コントロールを .ocx コントロールに置き換えます。これは、コントロールの .ocx バージョンが存在する場合にのみ可能です。コントロールを .ocx 形式に更新する方法については、この章で後述する「従来の Visual Basic コントロールの更新」を参照してください。
3. 会社の全従業員のリストを含む Microsoft Excel ワークシート オブジェクトや、特定のプロジェクト プラン情報を含む Microsoft PROject カレンダー オブジェクトなどの挿入可能なオブジェクト。これらのオブジェクトはツールボックスに追加できるため、コントロールとして使用できます。これらのオブジェクトの一部はオートメーション (正式には OLE オートメーションと呼ばれます) もサポートしており、これにより、Visual Basic アプリケーションで別のアプリケーションのオブジェクトをプログラムによって制御できます。自動化の詳細については、第 10 章「コンポーネントを使用したプログラミング」の「オブジェクトを使用したプログラミング」を参照してください。
Visual Basic Professional および Enterprise エディションで使用できる ActiveX コントロールの詳細については、『コンポーネント ツール ガイド』の「ActiveX コントロールの使用」を参照してください。
内部統制
次の表は、Visual Basic ツールボックスの内部コントロールをまとめたものです。
ポインター ツール (ツールボックスの最初のツール) を使用して、フォームとコントロールを移動したりサイズ変更したりできることに注意してください。ポインター ツールはコントロールではありません。
標準 ActiveX コントロール
VisualBasic Learning Edition には、アプリケーションに高度な機能を導入できるようにするいくつかの ActiveX コントロール (標準 ActiveX コントロールと呼ばれます) が含まれています。 ActiveX コントロールのファイル拡張子は .ocx で、プロジェクトで使用するためにツールボックスに手動で追加できます。次の表は、Visual Basic Learning Edition が提供する標準 ActiveX コントロールをまとめたものです。
Visual Basic Professional および Enterprise エディションで使用できる ActiveX コントロールの詳細については、『コンポーネント ツール ガイド』の「ActiveX コントロールの使用」を参照してください。
ActiveX コントロールの追加と削除
ツールボックスから ActiveX コントロールを追加または削除するには、以下の手順に従ってください。
ActiveX コントロールをツールボックスに追加するには:
1. 「プロジェクト」メニューから「コンポーネント」を選択します。
2. .ocx コントロール名の横にあるチェック ボックスをオンにし、[OK] を選択します。ツールボックスにコントロールを配置した後、内部コントロールの場合と同様にフォームにコントロールを追加します。
ActiveX コントロールを削除するには:
1. プロジェクト フォーム上のコントロールのすべてのインスタンスを削除します。プロジェクト コード内のコントロールへの参照をすべて削除します。削除されたコントロールへの参照がコード内に残っている場合、アプリケーションのコンパイル時にエラー メッセージが表示されます。
2. 「プロジェクト」メニューから「コンポーネント」を選択します。 .ocx コントロール名の横にあるチェックボックスをオフにして、[OK] を選択します。プロジェクト内にコントロールのインスタンスがある場合、エラー メッセージが表示されます。
ツールボックス内のコントロールおよび挿入可能なオブジェクトの追加または削除の詳細については、第 4 章「プロジェクトの管理」の「プロジェクトへのコントロールの追加」を参照してください。
従来の VisualBasic コントロールの更新
.vbx ファイル拡張子を持つ古い 16 ビット Visual Basic コントロールは、このバージョンの Visual Basic と互換性がありません。 .vbx コントロールを含む古いプロジェクトを読み込もうとすると、Visual Basic はそのコントロールが適用できない、または互換性がないことを警告します。もちろん、アプリケーションは .vbx なしでプロジェクトの読み込みを続けることができます。正常に動作しません。
サードパーティの .vbx コントロールを含む古いバージョンの Visual Basic プロジェクトをお持ちの場合は、.ocx 代替コントロールについてコントロールの製造元にお問い合わせください。
コントロールの命名規則
初めてオブジェクト (フォームまたはコントロール) を作成すると、Visual Basic はその Name プロパティを既定値に設定します。たとえば、最初はすべてのコマンド ボタンの Name プロパティを Commandn に設定します。n は 1、2、3 などです。 VisualBasic では、フォーム上に描画された最初のコマンド ボタンに Command1、2 番目のコマンド ボタンに Command2、3 番目のコマンド ボタンに Command3 という名前を付けます。
デフォルト名をそのまま使用することもできますが、同じタイプのコントロールが複数ある場合は、Name プロパティをわかりやすい名前に変更することをお勧めします。 MyForm フォームの Command1 ボタンと YourForm の Command1 ボタンを区別するのは難しいため、特にアプリケーションに複数のフォーム、標準、およびクラス モジュールが含まれている場合には、この命名規則が役に立ちます。
コントロールに名前を付けるには、クラスを説明するプレフィックスの後にコントロールを説明する名前を付けます。命名規則を使用すると、コード自体が自動的に記述され、類似したオブジェクトをオブジェクト リスト ボックスにアルファベット順に配置できます。たとえば、CheckBox コントロールに次のように名前を付けることができます。
chkReadOnly
フォームとコントロールの名前:
1. 文字で始める必要があります。
2. 文字、数字、アンダースコア文字 (_) のみを含めることができ、スペースは使用できません。
3. 40 文字を超えることはできません。
命名規則の詳細については、付録 B「Visual Basic のコーディング規則」を参照してください。
制御値を使用する
すべてのコントロールにはプロパティがあります。このプロパティを使用すると、プロパティ名を使用せずにコントロール名を参照するだけで値を保存または取得できます。これは、コントロールの最も重要な、または一般的に使用されるプロパティです。コントロール。次の表に、コントロール値とみなされる各コントロール プロパティを示します。
コントロールのプロパティがコントロールの値である場合、プロパティを参照するたびにコードでプロパティ名を指定する必要はありません。たとえば、次のコードは TextBox コントロールの Text プロパティの値を設定します。
Text1=このテキストはTextプロパティ_に割り当てられています
テキスト1の
次の例では、ユーザーがファイル リスト ボックス内のファイルをクリックするたびに、Label1 の Caption プロパティが File1 の FileName プロパティに設定されます。
PrivateSubFile1_Click()
ラベル1=ファイル1
EndSub
コードの読みやすさはコントロール値の使用によってわずかに影響を受けるため、このガイドの例ではコントロール値を使用せず、コントロールのプロパティを明示的に参照することに注意してください。どちらの方法もコードの記述に使用できますが、読み取りが困難にならない場合は、制御値の使用を検討してください。
->