カスタム コントロール ヘルプ

関連項目	その他のヘルプまたは補足情報

プロジェクトにカスタム コントロールを追加すると、そのカスタム コントロールのアイコンがツールボックスに表示されます。このアイコンをクリックして、カスタム コントロールを選択します。

各カスタム コントロールに対応するツールボックス アイコンは、次のとおりです。

	3D チェック ボックス		キー ステータス		ステータス バー*
	3D コマンド ボタン		MAPI セッション		スライダ*
	3D フレーム		MAPI メッセージ		イメージ リスト*
	3D グループ プッシュ ボタン		マスク エディット		リスト ビュー*
	3D オプション ボタン		マルチメディア MCI		ツリー ビュー*
	3D パネル		アウトライン		タブ ストリップ*
	アニメーション ボタン		ピクチャ クリップ		ツールバー*
	コミュニケーション		スピン ボタン		リッチテキスト ボックス*
	ゲージ		タブ ダイアログ		プログレス バー*
	グラフ			*	Windows 95 コントロール


カスタム コントロール ヘルプ

関連項目

プロジェクトにカスタム コントロールを追加すると、そのカスタム コントロールのアイコンがツールボックスに表示されます。このアイコンをクリックして、カスタム コントロールを選択します。

各カスタム コントロールに対応するツールボックス アイコンは、次のとおりです。

	3D チェック ボックス		キー ステータス		ステータス バー*
	3D コマンド ボタン		MAPI セッション		スライダ*
	3D フレーム		MAPI メッセージ		イメージ リスト*
	3D グループ プッシュ ボタン		マスク エディット		リスト ビュー*
	3D オプション ボタン		マルチメディア MCI		ツリー ビュー*
	3D パネル		アウトライン		タブ ストリップ*
	アニメーション ボタン		ピクチャ クリップ		ツールバー*
	コミュニケーション		スピン ボタン		リッチテキスト ボックス*
	ゲージ		タブ ダイアログ		プログレス バー*
	グラフ			*	Windows 95 コントロール


関連項目

オブジェクト型

実行可能 (.EXE) ファイルの作成、実行、および配布

OLE カスタム コントロールの登録

Windows 95 カスタム コントロールのトラップできるエラー

プロパティ ページ ダイアログ ボックスの使用

Visual Basic カスタム コントロール定数


オブジェクト型

コントロールのオブジェクト型は、If...Then...Else ステートメントの中でキーワード TypeOf と共に使われます。このオブジェクト型を利用して、同じオブジェクト型の変数を作成したり、引数としてイベントに渡されるコントロール (DragDrop イベントの引数 Source など) の型を判断できます。コントロールのオブジェクト型の使用方法については、オンライン ヘルプの「If...Then...Else ステートメント」を参照してください。

各コントロールのオブジェクト型またはクラス名は、次のとおりです。

コントロール	オブジェクト型

3D チェック ボックス	SSCheck

3D コマンド ボタン	SSCommand

3D フレーム	SSFrame

3D グループ プッシュ ボタン	SSRibbon

3D オプション ボタン	SSOption

3D パネル	SSPanel

アニメーション ボタン	AniPushButton

コミュニケーション	MSComm

ゲージ	Gauge

グラフ	Graph

イメージ リスト	ImageList

キー ステータス	MhState

リスト ビュー	ListView

MAPI	MapiSession、MapiMessages

マスク エデット	MaskEdBox

マルチメディア MCI	MMControl

アウトライン	Outline

ピクチャ クリップ	PictureClip

プログレス バー	ProgressBar

リッチテキスト ボックス	RichEdit

スライダ	Slider

スピン ボタン	SpinButton

タブ ダイアログ	SSTab

ステータス バー	StatusBar

タブ ストリップ	TabStrip

ツール バー	ToolBar

ツリー ビュー	TreeView


実行可能ファイル (.EXE) の作成、実行、および配布

作成したアプリケーションを Visual Basic 開発環境以外の Microsoft Windows 上で実行するには、実行可能ファイル (.EXE) を作成する必要があります。カスタム コントロールを使ったアプリケーションの実行可能ファイルは、他のアプリケーションの場合と同じ方法で作成することができます。ただし、カスタム コントロールを使ったアプリケーションを実行するときには、いくつかの点に注意する必要があります。

関連項目

Visual Basic の実行可能ファイル (.EXE)

必要なカスタム コントロール ファイル


Visual Basic の実行可能ファイル (.EXE)

カスタム コントロール ファイルは、Visual Basic 開発環境からも Visual Basic で作成したアプリケーションからもアクセスされます。カスタム コントロールが使われている実行可能ファイル (.EXE) を実行するときには、そのコントロールに対応する .OCX ファイルが、システムに登録されている必要があります。

カスタム コントロールが登録されていない場合、Visual Basic のランタイム DLL によって“ファイルが見つかりません”というエラー メッセージが表示されます。カスタム コントロールを使ったアプリケーションを配布する場合、セットアップ時に、ユーザーの Microsoft Windows に必要な .OCX ファイルを登録する必要があります。

Visual Basic で作成したアプリケーションは、Microsoft Windows のユーザーに自由に配布することができます。Visual Basic に付属するセットアップ ウィザードを使うと、作成したアプリケーションをシステムにセットアップするプログラムを簡単に作成することができます。

アプリケーションを起動するには次のファイルが必要になります。

Visual Basic のランタイム DLL ファイル (16 ビット版では VB40016.DLL、VB4JP16.DLL、32 ビット版では VB40032.DLL、VB4JP32.DLL)。

.OCX ファイル。

アプリケーションまたはカスタム コントロールに必要なその他の DLL ファイル。

詳細については、『プログラミング ガイド』の「第 30 章 作成したアプリケーションの配布」を参照してください。


必要なカスタム コントロール ファイル

次の表は、それぞれのカスタム コントロールに必要なファイルを示しています。16 ビット システムと 32 ビット システムでは、別の .OCX ファイルが必要となりますので注意してください。

コントロール	必要なファイル

3D チェック ボックス	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

3D コマンド ボタン	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

3D フレーム	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

3D グループ プッシュ ボタン	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

3D オプション ボタン	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

3D パネル	THREED16.OCX (16 ビット)
THREED32.OCX (32 ビット)

アニメーション ボタン	ANIBTN16.OCX (16 ビット)
ANIBTN32.OCX (32 ビット)

コミュニケーション	MSCOMM16.OCX (16 ビットのみ)

ゲージ	GAUGE16.OCX (16 ビット)
GAUGE32.OXC (32 ビット)

グラフ	GRAPH16.OCX、GSW16.EXE、GSWDLL16.DLL (16 ビット)
GRAPH32.OCX、GSW32.EXE、GSWDLL32.DLL (32 ビット)

イメージ リスト	COMCTL.OCX (32 ビットのみ)

キー ステータス	KEYSTA16.OCX (16 ビット)
KEYSTA32.OCX (32 ビット)

リスト ビュー	COMCTL.OCX (32 ビットのみ)

MAPI *	MSMAPI16.OCX (16 ビット)
MSMAPI32.OCX (32 ビット)

マスク エデット	MSMASK16.OCX (16 ビット)
MSMASK32.OCX (32 ビット)

マルチメディア MCI **	MCI16.OCX (16 ビット)
MCI32.OCX (32 ビット)

アウトライン	MSOUTL16.OCX (16 ビット)
MSOUTL32.OCX (32 ビット)

ピクチャ クリップ	PICCLP16.OCX (16 ビット)
PICCLP32.OCX (32 ビット)

プログレス バー	COMCTL.OCX (32 ビットのみ)

リッチテキスト ボックス	RICHTX32.OCX (32 ビットのみ)

スライダ	COMCTL.OCX (32 ビットのみ)

スピン ボタン	SPIN16.OCX (16 ビット)
SPIN32.OCX (32 ビット)

タブ ダイアログ	COMCTL.OCX (32 ビットのみ)

ステータス バー	COMCTL.OCX (32 ビットのみ)

タブ ストリップ	COMCTL.OCX (32 ビットのみ)

ツール バー	COMCTL.OCX (32 ビットのみ)

ツリー ビュー	COMCTL.OCX (32 ビットのみ)

*	Microsoft Mail for Windows が必要です。

**	MCI 規格に対応したハードウェアおよびソフトウェアが必要です。


OLE カスタム コントロールの登録

Professional Edition または Enterprise Edition をインストールすると、システムのレジストリに OLE カスタム コントロールが自動的に登録されます。これで、デザイン時にカスタム コントロールを使ってアプリケーションを作成できるようになります。

アプリケーションのセットアップ プログラムを作成する場合は、OLE カスタム コントロールについての情報を SETUP.LST ファイルに追加する必要があります。詳細については、『プログラミング ガイド』の「第 30 章 作成したアプリケーションの配布」を参照してください。

Visual Basic の以前のバージョンに使われていた VB.LIC ファイルは、OLE カスタム コントロールには使えません。

注   レジストリのライセンス関連のセクションをコピーして配布すると、ライセンス契約違反になります。


プロパティ ページ ダイアログ ボックスの使用

カスタム コントロールのプロパティを設定するときは、プロパティ ページ ダイアログ ボックスを使用することをお薦めします。このダイアログ ボックスでは、デザイン時にプロパティの設定を行うプロパティ ウィンドウと同等のプロパティ一覧が表示されます。

プロパティを設定する 2 つの方法

カスタム コントロールを使用する一部のアプリケーションでは、Visual Basic のようなプロパティ ウィンドウが提供されない場合があります。また、プロパティ ページ ダイアログ ボックスでは、カスタム コントロールを使用するアプリケーションのインターフェイスとは関係なく、プロパティの設定を行うインターフェイスを提供できます。

通常、カスタム コントロールでは、次の 2 つの方法でプロパティの設定を行うことができます。

プロパティ ウィンドウ

プロパティ ぺージ ダイアログ ボックス

ただし、プロパティ ウィンドウ内では実現できないインターフェイスが必要な一部のプロパティの場合は、プロパティ ページ ダイアログ ボックスを使う方法だけが提供されます。たとえば、イメージ リスト コントロールでは、イメージのセットを設定する場合、ファイル名を何度も入力するか、一覧から多くのファイルを選択する必要する必要があります。

プロパティ ページ ダイアログ ボックスを確認するには

一部のカスタム コントロールでは、プロパティ ページ ダイアログ ボックスは提供されません。このダイアログ ボックスが提供されているかどうかを確認するには、プロパティ ウィンドウを上端までスクロールします。プロパティの一覧に“(Custom)”という名前が含まれている場合は、プロパティ ページ ダイアログ ボックスが提供されていることになります。


 3D チェック ボックス コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

3D チェック ボックス コントロールは、標準のチェック ボックス (CheckBox) コントロールと同じように、オン (チェック)/オフ (未チェック) の切り替えを行います。さらに 3D チェック ボックス コントロールでは、キャプションを立体的に表示できます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSCheck

解説

3D チェック ボックス コントロールの特長は、Font3D プロパティを使って、キャプションを立体的に表示できることです。3D チェック ボックス コントロールをフォームに配置し、Font3D プロパティを設定すると、次に 3D チェック ボックス コントロールを配置するときは、この設定が自動的に引き継がれます。

3D チェック ボックス コントロールでは、明るい灰色の影を付けることによってキャプションを立体的に表示します。3D チェック ボックス コントロールの背景色は必ず明るい灰色になるため、BackColor プロパティを持ちません。3D チェック ボックス コントロールを使うときは、フォームの BackColor プロパティも明るい灰色 (&H00C0C0C0&) に設定することをお勧めします。

データ連結関連のプロパティ

3D チェック ボックス コントロールには、DataChanged、DataField、DataSource の 3 つのデータ連結関連のプロパティがあり、データ (Data) コントロールとリンクしてレコードセット内のカレント レコードのフィールドの値を表示できます。3D チェック ボックス コントロールは、ブール型 (Boolean) の持つフィールドとのみ連結し、レコードセットに値を書き込むことができます。

DataField プロパティによって参照されるフィールドの値が読み込まれると、可能な場合は、その値は Value プロパティの値に変換されます。フィールドの値が Null 値の場合は Value プロパティの値は 2 に設定され、3D チェック ボックス コントロールが灰色表示になります。

データ連結コントロールの詳細については、『プログラミング ガイド』の「第 22 章 データ コントロールのデータ アクセス機能」を参照してください。

配布時の注意   3D チェック ボックス コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D チェック ボックス コントロールのプロパティは、次のとおりです。アスタリスク (*) は、3D チェック ボックス コントロールにのみ適用されるプロパティ、または 3D チェック ボックス コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*Alignment	Font	Height	Parent
Caption	*Font3D	HelpContextID	TabIndex
Container	FontBold	hWnd	TabStop
DataChanged	FontItalic	Index	Tag
DataField	FontName	Left	Top
DataSource	FontSize	MouseIcon	Value
DragIcon	FontStrikethru	MousePointer	Visible
DragMode	FontUnderline	Name	WhatsThisHelpID
Enabled	ForeColor	Object	Width
3D チェック ボックス コントロールでは、既定プロパティ (プロパティ名を省略してコントロール名を指定するだけで値を設定したり取得できるプロパティ) は Value プロパティです。

注   DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。

DataChanged、DataField、および DataSource の各プロパティはデータ連結関連のプロパティで、Visual Basic Version 3.0 でのみ使用できます。


イベント

3D チェック ボックス コントロールのイベントは、次のとおりです。アスタリスク (*) は、3D チェック ボックス コントロールにのみ適用されるイベント、または 3D チェック ボックス コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*Click	GotFocus	KeyUp	MouseMove
DragDrop	KeyDown	LostFocus	MouseUp
DragOver	KeyPress	MouseDown
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

3D チェック ボックス コントロールに適用されるメソッドは、次のとおりです。

Drag	Refresh	ZOrder
Move	SetFocus	ShowWhatsThis
注   Drag メソッドおよび ZOrder メソッドは Microsoft Visual Basic でのみ使用できます。


 3D コマンド ボタン コントロール

プロパティ	メソッド	イベント	エラー メッセージ	定数

3D コマンド ボタン コントロールは、標準のコマンド ボタン (CommandButton) コントロールと同じように、ユーザーがボタンを選択したときに何らかのコマンドや操作を実行します。さらに 3D コマンド ボタン コントロールでは、ボタンの上にビットマップやアイコンを表示したり、キャプションを立体的に表示できます。また、Bevelwidth プロパティを設定することでボタンの高さを調節できます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSCommand

解説

3D コマンド ボタン コントロールの特長は、キャプションを立体的に表示したり、ボタンの高さを調節できることですが、このためにいくつかのプロパティが用意されています。3D コマンド ボタン コントロールをフォームに配置し、これらのプロパティを設定すると、次に 3D コマンド ボタン コントロールを配置するときは、この設定が自動的に引き継がれます。

3D コマンド ボタン コントロールでは、明るい灰色の影を付けることによってキャプションやボタンを立体的に表示します。3D コマンド ボタン コントロールの背景色は必ず明るい灰色になるため、BackColor プロパティを持ちません。3D コマンド ボタン コントロールを使うときは、フォームの BackColor プロパティも明るい灰色 (&H00C0C0C0&) に設定することをお勧めします。

配布時の注意   3D コマンド ボタン コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要がありします。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D コマンド ボタン コントロールのプロパティは次のとおりです。アスタリスク (*) は、3D コマンド ボタン コントロールにのみ適用されるプロパティ、または 3D コマンド ボタン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*AutoSize	*Font3D	hWnd	*RoundedCorners
*BevelWidth	FontBold	Index	TabIndex
Cancel	FontItalic	Left	TabStop
Caption	FontName	MouseIcon	Tag
Container	FontSize	MousePointer	Top
Default	FontStrikethru	Name	Value
DragIcon	FontUnderline	Object	Visible
DragMode	ForeColor	*Outline	WhatsThisHelpID
Enabled	Height	Parent	Width
Font	HelpContextID	*Picture
3D コマンド ボタン コントロールでは、既定プロパティは Value プロパティです。

注   DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

3D コマンド ボタン コントロールに適用されるイベントは次のとおりです。

Click	GotFocus	KeyUp	MouseMove
DragDrop	KeyDown	LostFocus	MouseUp
DragOver	KeyPress	MouseDown
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

3D コマンド ボタン コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ZOrder
Move	SetFocus	ShowWhatsThis
注   Drag、SetFocus、および ZOrder の各メソッドは Microsoft Visual Basic でのみ使用できます。


Picture プロパティ (3D コマンド ボタン コントロール)

例

3D コマンド ボタン コントロール上に表示されるビットマップまたはアイコンを指定します。

構文

[form.]CommandButton3d.Picture[ = picture]

解説

3D コマンド ボタン コントロールで使う Picture プロパティの設定値は、次のとおりです。

値	内容

(なし)	(既定値) ピクチャは表示されません。

(ビットマップ)、(アイコン)	3D コマンド ボタン コントロールに表示するピクチャを指定します。ピクチャはデザイン時にプロパティ ウィンドウで指定できます。

デザイン時にプロパティ ウィンドウで、表示するピクチャを指定できます。実行時には、LoadPicture 関数の戻り値を Picture プロパティに代入することによって、表示するピクチャを指定できます。また、Clipboard オブジェクトに関連するメソッド (GetData、SetData、GetFormat など) で、定数 vbCFBitmap や vbCFDIB を指定することによって、クリップボード上のピクチャを扱うこともできます。vbCFBitmap や vbCFDIB などの記号定数は、オブジェクト ブラウザの Visual Basic(VB) オブジェクト ライブラリで定義されています。

Picture プロパティをデザイン時に設定すると、グラフィックスはフォームと共に保存および起動が行われます。作成した実行可能ファイル (.EXE) はそのイメージを含みます。実行時にグラフィックスをロードする場合、グラフィックスはアプリケーションには保存されません。グラフィックスをフォームまたはピクチャ ボックス (PictureBox) コントロールからファイルに保存するには、SavePicture ステートメントを使用します。

注   3D コマンド ボタン コントロールでは、ビットマップ形式 (.BMP) とアイコン形式 (.ICO) のファイルは表示できますが、メタファイル形式 (.WMF) のファイルは表示できません。実行時に、3D コマンド ボタン コントロールの Picture プロパティに他のオブジェクトのピクチャ イメージを返すプロパティ (DragIcon、Icon、Picture、または Image) を代入する、または LoadPicture 関数の戻り値を Picture プロパティに代入します。3D コマンド ボタン コントロールの Picture プロパティは直接設定する必要があります。

データ型

整数型 (Integer)


Picture プロパティの例 (3D コマンド ボタン コントロール)

次のプログラムでは、クリップボードのビットマップをコマンド ボタン (CommandButton) コントロールに貼り付けます。このプログラムを実行するには、次のようにします。

1.	フォームに 3D コマンド ボタン コントロールを配置します。

2.	このフォームの宣言セクションに次のコードを貼り付けた後、プログラムを実行します。

3.	他のアプリケーションを起動し、そこからピクチャをクリップボードにコピーします。

4.	Microsoft Visual Basic にタスクを切り替えて、フォームをクリックします。

注   このプログラムを実行するには、クリップボードにコピーするピクチャはビットマップ形式である必要があります。

Private Sub Form_Click ()

Const vbCFBitmap = 2

Command3D1.Picture = Clipboard.GetData(vbCFBitmap)

End Sub


 3D フレーム コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

3D フレーム コントロールは、標準のフレーム (Frame) コントロールと同じ機能を持ち、コントロールを視覚的、機能的にグループ化します。3D フレーム コントロールでは、文字列を立体的にフレームの右、左、または中央に表示したり、フレーム自体を浮き出た形またはくぼんだ形に表示したりすることができます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSFrame

解説

3D フレーム コントロールの特長はキャプションや枠線を立体的に表示できることです。このためにいくつかのプロパティが用意されています。3D フレーム コントロールをフォームに配置し、これらのプロパティを設定すると、次に 3D フレーム コントロールを配置するときは、この設定が自動的に引き継がれます。

3D フレーム コントロールでは、明るい灰色の影を付けることによってキャプションや枠線を立体的に表示します。このため 3D フレーム コントロールの背景色は必ず明るい灰色になり、BackColor プロパティは設定できません。3D フレーム コントロールを使うときは、フォームの BackColor プロパティも明るい灰色 (&H00C0C0C0&) に設定することをお勧めします。

配布時の注意   3D フレーム コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D フレーム コントロールのプロパティは次のとおりです。アスタリスク (*) は、3D フレーム コントロールにのみ適用されるプロパティ、または 3D フレーム コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*Alignment	FontBold	hWnd	*ShadowColor
Caption	FontItalic	Index	*ShadowStyle
Container	FontName	Left	TabIndex
DragIcon	FontSize	MouseIcon	Tag
DragMode	FontStrikethru	MousePointer	Top
Enabled	FontUnderline	Name	Visible
Font	ForeColor	Object	WhatsThisHelpID
*Font3D	Height	Parent	Width
3D フレーム コントロールでは、既定プロパティは Caption プロパティです。

注   Align、DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

3D フレーム コントロールに適用されるイベントは次のとおりです。

Click	DragDrop	MouseDown	MouseUp
DblClick	DragOver	MouseMove
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

3D フレーム コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ShowWhatsThis	ZOrder
Move
注   Drag メソッドおよび ZOrder メソッドは Microsoft Visual Basic でのみ使用できます。


ShadowStyle プロパティ (3D フレーム コントロール)

3D フレーム コントロールの枠線がくぼんで表示されるか、浮き出て表示されるかを設定します。

構文

[form.]Frame3d.ShadowStyle[ = color%]

解説

ShadowStyle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 3D フレーム コントロールの枠線はフォームからくぼんで表示されます。

1	3D フレーム コントロールの枠線はフォームから浮き出て表示されます。

データ型

整数型 (列挙型)


 3D グループ プッシュ ボタン コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

3D グループ プッシュ ボタン コントロールはオン/オフの切り替えを行います。3D グループ プッシュ ボタン コントロールをいくつかまとめると、Microsoft Excel のツールバーまたは Microsoft Word のリボンと同様の機能をアプリケーションに追加できます。3D グループ プッシュ ボタン コントロールでは、表示するビットマップを Picture プロパティで指定できます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSRibbon

解説

3D グループ プッシュ ボタン コントロールは、コマンド ボタンに似ていますが、実際にはオプション ボタンのような機能があり、グループ内のあるボタンを選択する (オンにする) と、そのグループでそれまで選択されていたボタンが自動的にオフになります。ボタンをグループ化するには、GroupNumber プロパティを使います。また GroupAllowAllUp プロパティで、グループのすべてのボタンをオフにできるかどうかを設定します。

3D グループ プッシュ ボタン コントロールには、PictureUp、PictureDn、および PictureDisabled の 3 つのプロパティがあります。PictureDisabled プロパティはボタンが無効になっているときに表示するビットマップを指定します。PictureUp プロパティおよび PictureDn プロパティの両方を設定するか、または PictureUp プロパティのみを設定します。PictureUp プロパティのみを設定する場合は、ボタンがオンのときに表示するビットマップをディザ、反転、あるいは PictureUp プロパティで指定したビットマップのいずれか 1 つから、PictureDnChang プロパティを設定して選択します。

注   BevelWidth プロパティに 1 または 2 を設定すると、指定したビットマップは傾斜面よりも内側の部分に表示されます。3D グループ プッシュ ボタンがオンのときのビットマップ表示は、すべて自動的に調整され、ボタンを押すとビットマップは右下に移動します。BevelWidth プロパティに 0 を設定すると、傾斜面の影の部分はピクチャと合わせて表示されます。

他の 3D コントロールとは異なり、3D グループ プッシュ ボタン コントロールは BackColor プロパティを持ちます。BackColor プロパティの既定値は“明るい灰色”ですが、ボタン上に表示されるビットマップに合った色に変更できます。したがって、背景色の強いビットマップも、ボタンの一部として表示できます。BackColor プロパティの設定対象となる範囲は、3D グループ プッシュ ボタン コントロールの傾斜面よりも内側の部分であることに注意してください。傾斜面の色は常に白と濃い灰色になります。

3D グループ プッシュ ボタン コントロールでは、ボタンを立体的に表示するために、いくつかのプロパティが用意されています。3D グループ プッシュ ボタン コントロールをフォームに配置し、これらのプロパティを設定すると、次に 3D グループ プッシュ ボタン コントロールを配置するときは、この設定が自動的に引き継がれます。

配布時の注意   3D グループ プッシュ ボタン コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D グループ プッシュ ボタン コントロールのプロパティは次のとおりです。アスタリスク (*) は、3D グループ プッシュ ボタン コントロールにのみ適用されるプロパティ、または 3D グループ プッシュ ボタン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*AutoSize	*GroupNumber	Name	*RoundedCorners
BackColor	Height	Object	TabIndex
*BevelWidth	HelpContextID	*Outline	Tag
Container	hWnd	Parent	Top
DragIcon	Index	*PictureDisabled	Value
DragMode	Left	*PictureDn	Visible
Enabled	MouseIcon	*PictureDnChange	WhatsThisHelpID
*GroupAllowAllUp	MousePointer	*PictureUp	Width
3D グループ プッシュ ボタン コントロールでは、既定プロパティは Value プロパティです。

注   Align、DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

3D グループ プッシュ ボタン コントロールのイベントは次のとおりです。3D グループ プッシュ ボタン コントロールにのみ適用されるイベント、または 3D グループ プッシュ ボタン コントロールと共に使う場合に特に注意が必要なイベントには、アスタリスク (*) が付いています。

*Click	DragOver	MouseMove	MouseUp
DragDrop	MouseDown
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basicでのみ使用できます。


メソッド

3D チェック ボックスに適用されるメソッドは次のとおりです。

Drag	Move	Refresh	ZOrder
ShowWhatsThis
注   Drag メソッドおよび ZOrder メソッドは Microsoft Visual Basicでのみ使用できます。


GroupAllowAllUp プロパティ (3D グループ プッシュ ボタン コントロール)

3D グループ プッシュ ボタン コントロールをグループ化したとき、グループ内のすべてのボタンをオフにできるかどうかを設定します。

構文

[form.]GroupPushButton.GroupAllowAllUp[ = {True | False}]

解説

GroupAllowAllUp プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) グループ内のすべてのボタンをオフにすることができます。

False	グループ内のボタンのうち 1 つは必ずオンになっている必要があります。

グループ内の 1 つのボタンの GroupAllowAllUp プロパティの設定は、他のグループには影響しません。

GroupAllowAllUp プロパティを偽 (False) に設定しても、フォームのロード時に、オンになっているボタンがグループ内にあるかどうかのチェックが行われることはありません。したがって、デザイン時にグループ内のいずれかのボタンの Value プロパティを真 (True) に設定して、ボタンをオンにしておく必要があります。

注   グループ内の 1 つのボタンの GroupAllowAllUp プロパティを設定すると、そのグループ内の他のボタンの GroupAllowAllUp プロパティも同じ値に設定されます。3D グループ プッシュ ボタン コントロールをグループ化するには、GroupNumber プロパティを使用します。

データ型

整数型 (ブール型)


GroupNumber プロパティ (3D グループ プッシュ ボタン コントロール)

3D グループ プッシュ ボタン コントロールのグループ化を指定する値を設定します。値の取得も可能です。

構文

[form.]GroupPushButton.GroupNumber[ = group%]

解説

GroupNumber プロパティの設定値は次のとおりです。

設定値	内容

0	ボタンはいずれのグループにも含まれません。したがって、フォーム上の他の 3D グループ プッシュ ボタン コントロールとは独立してオン/オフを切り替えることができます。

1 ～ 99	(既定値は 1) ボタンは 3D グループ プッシュ ボタン コントロールのグループに含まれます。グループは、同じフォーム上の GroupNumber プロパティの値が同じボタンで構成されます。

GroupNumber プロパティを使って 3D グループ プッシュ ボタン コントロールをグループ化するときは、グループ内のすべてのボタンを同じコンテナ上に配置する必要があります。たとえば、2 つの 3D グループ プッシュ ボタン コントロールをフォームに配置し、この 2 つのボタンをグループ化したとします。このとき、同じフォーム上にフレームを配置し、3 つめの 3D グループ プッシュ ボタン コントロールをこのフレーム上に配置すると、3 つめのボタンの GroupNumber プロパティを最初の 2 つと同じ値に設定しても、同じグループにはなりません。

GroupNumber プロパティの既定値は 1 で、すべてのボタンで 1 つのグループが構成されます。GroupNumber プロパティを 0 に設定すると、そのボタンのオン/オフの切り替えは、他の 3D グループ プッシュ ボタン コントロールとは独立して行われます。

GroupNumber プロパティを使うと、1 つのフォーム、フレーム、パネル、ピクチャ ボックス上で、複数のグループを作成できます。GroupNumber プロパティの値が同じボタンは、同じグループとして動作します。

注   グループには 2 つの種類があります。1 つはオプション ボタンのグループのように、少なくとも 1 つのボタンをオンにする必要があるグループで、もう 1 つはグループ内のすべてのボタンをオフにできるグループです。詳細については、「GroupAllowAllUp プロパティ」を参照してください。

データ型

整数型 (Integer)


PictureDisabled プロパティ (3D グループ プッシュ ボタン コントロール)

3D グループ プッシュ ボタン コントロールが無効になっているときに、ボタン上に表示されるビットマップを指定します。

構文

[form.]GroupPushButton.PictureDisabled[ = picture]

解説

PictureDisabled プロパティの設定値は次のとおりです。

設定値	内容

(なし)	(既定値) 3D グループ プッシュ ボタン コントロールが無効になっているときに、ビットマップを表示しません。

(ビットマップ)	ボタンが無効になっているときに表示されるビットマップを指定します。デザイン時に、表示するビットマップをプロパティ ウィンドウで指定できます。

このプロパティで指定するビットマップは、3D グループ プッシュ ボタン コントロールが無効になっているとき、つまり、Enabled プロパティが偽 (False) に設定されているときだけ表示されます。このプロパティの設定は省略できます。このプロパティを設定していない場合は、ボタンが無効になっているときに、PictureUp プロパティで指定するビットマップが表示されます。

デザイン時に、表示するするピクチャをプロパティ ウィンドウで指定できます。実行時には、LoadPicture 関数の戻り値を Picture プロパティに代入することによって、表示するピクチャを指定できます。また、Clipboard オブジェクトに関連するメソッド (GetData、SetData、GetFormat など) で、定数 vbCFBitmap や定数 vbCFDIB を指定することによって、クリップボード上のピクチャを扱うこともできます。vbCFBitmap や vbCFDIB などの記号定数は、オブジェクト ブラウザの Visual Basic (VB) オブジェクト ライブラリで定義されています。

デザイン時に Picture プロパティを設定すると、グラフィックスはフォームと共に保存およびロードが行われます。作成した実行可能ファイル (.EXE) はそのイメージを含みます。実行時にグラフィックスをロードする場合、グラフィックスはアプリケーションには保存されません。グラフィックスをフォームまたはピクチャ ボックス (PictureBox) コントロールからファイルに保存するには、SavePicture ステートメントを使用します。

注   実行時には、3D グループ プッシュ ボタン コントロールの Picture プロパティに他のオブジェクトの Picture プロパティまたは Image プロパティを代入するか、あるいは LoadPicture 関数の戻り値を代入します。3D グループ プッシュ ボタン コントロールの Picture プロパティは直接設定する必要があります。

データ型

整数型 (Integer)


PictureDn プロパティ (3D グループ プッシュ ボタン コントロール)

3D グループ プッシュ ボタン コントロールがオン (押された状態) になっているときに表示されるビットマップを指定します。

構文

[form.]GroupPushButton.PictureDn[ = picture]

解説

PictureDn プロパティの設定値は次のとおりです。

設定値	内容

(なし)	(既定値) 3D グループ プッシュ ボタン コントロールがオンのときに、ビットマップを表示しません。PictureDnChange プロパティの設定に従って、PictureUp プロパティで指定されているビットマップを使って、ボタンがオンになっているときに表示するビットマップが作成されます。

(ビットマップ)	ボタンがオンのときに表示するビットマップを指定します。デザイン時に、表示するビットマップをプロパティ ウィンドウで指定できます。

PictureDn プロパティで指定するビットマップはボタンがオンのとき、つまり、Value プロパティが真 (True) に設定されているときに表示されます。このプロパティが“(なし)”に設定されているときは、PictureUp プロパティで指定されているビットマップを使って、ボタンがオンのときに表示するビットマップを作成します。その場合の作成方法は、PictureDnChange プロパティで設定します。

BevelWidth プロパティが 1 または 2 に設定されているときは、ビットマップは傾斜面よりも内側の部分に表示されます。ボタンを押すと、ビットマップは右下に移動します。BevelWidth プロパティを 0 に設定しているときは、ビットマップだけでオン/オフの状態を表現します。表示位置が移動することはありません。

デザイン時に、表示するピクチャをプロパティ ウィンドウで指定できます。実行時には、LoadPicture 関数の戻り値を Picture プロパティに代入することによって、表示するピクチャを指定できます。また、Clipboard オブジェクトに関連するメソッド (GetData、SetData、GetFormat など) で、定数 vbCFBitmap や定数 vbCFDIB を指定することによって、クリップボード上のピクチャを扱うこともできます。vbCFBitmap や vbCFDIB などの記号定数は、オブジェクト ブラウザの Visual Basic (VB) オブジェクト ライブラリで定義されています。

Picture プロパティをデザイン時に設定すると、グラフィックスはフォームと共に保存およびロードが行われます。作成した実行可能ファイル (.EXE) はそのイメージを含みます。実行時にグラフィックスをロードする場合、グラフィックスはアプリケーションには保存されません。グラフィックスをフォームまたはピクチャ ボックス (PictureBox) コントロールからファイルに保存するには、SavePicture ステートメントを使用します。

注   実行時には、3D グループ プッシュ ボタン コントロールの Picture プロパティに他のオブジェクトの Picture プロパティまたは Image プロパティを代入するか、あるいは LoadPicture 関数の戻り値を代入します。3D グループ プッシュ ボタン コントロールの Picture プロパティは直接設定する必要があります。

データ型

整数型 (Integer)


PictureDnChange プロパティ (3D グループ プッシュ ボタン コントロール)

PictureDn プロパティを設定していない場合に、PictureUp プロパティで指定されているビットマップを使用して、ボタンがオンのときに表示するビットマップを作成する方法を指定します。

構文

[form.]GroupPushButton.PictureDnChange[ = setting%]

解説

PictureDnChange プロパティの設定値は次のとおりです。

設定値	内容

0	PictureUp プロパティで指定されているビットマップを使います。

1	(既定値) ディザ。PictureUp プロパティで指定されているビットマップのうち、BackColor プロパティで設定されている色が使われているピクセルはそのままにして、その他のピクセルをすべて白に変更します。この方法で作成されるビットマップは、もとのビットマップよりも全体的に明るくなります。☆たとえば、明るい灰色はより淡い灰色になります。

2	PictureUp プロパティで指定されているビットマップを反転表示します。

PictureUp プロパティで大きなビットマップを指定し、このプロパティを 1 に設定すると、ボタンをクリックしてから実際にオンになるまで多少時間がかかります。これを避けるには、PictureDn プロパティでビットマップを指定してください。

データ型

整数型 (列挙型)


PictureUp プロパティ (3D グループ プッシュ ボタン コントロール)

3D グループ プッシュ ボタン コントロールがオフになっているときに表示されるビットマップを指定します。

構文

[form.]GroupPushButton.PictureUp[ = picture]

解説

PictureUp プロパティの設定値は次のとおりです。

設定値	内容

(なし)	(既定値) 3D グループ プッシュ ボタン コントロールがオフのときに、ビットマップを表示しません。

(ビットマップ)	3D グループ プッシュ ボタン コントロールがオフのときに表示するビットマップを指定します。デザイン時に、表示するビットマップをプロパティ ウィンドウで指定できます。

PictureUp プロパティで指定するビットマップはボタンがオフのとき、つまり、Value プロパティが偽 (False) に設定されているときに表示されます。PictureDn プロパティが“(なし)”に設定されているときにも、PictureUp プロパティを使って、ボタンがオンのときに表示されるビットマップを作成することができます。3D グループ プッシュ ボタン コントロールを使用して、ボタンがオンのときに表示されるビットマップを作成する方法の詳細については、「PictureDnChange プロパティ」を参照してください。デザイン時に、表示するピクチャをプロパティ ウィンドウで指定できます。実行時には、LoadPicture 関数の戻り値を Picture プロパティに代入することによって、表示するピクチャを指定できます。また、Clipboard オブジェクトに関連するメソッド (GetData、SetData、GetFormat など) で、定数 vbCFBitmap や定数 vbCFDIB を指定することによって、クリップボード上のピクチャを扱うこともできます。vbCFBitmap や vbCFDIB などの記号定数は、オブジェクト ブラウザの Visual Basic (VB) オブジェクト ライブラリで定義されています。

Picture プロパティをデザイン時に設定すると、グラフィックスはフォームと共に保存およびロードが行われます。作成した実行可能ファイル (.EXE) はそのイメージを含みます。実行時にグラフィックスをロードする場合、グラフィックスはアプリケーションには保存されません。グラフィックスをフォームまたはピクチャ ボックス (PictureBox) コントロールからファイルに保存するには、SavePicture ステートメントを使用します。

注   実行時には、3D グループ プッシュ ボタン コントロールの Picture プロパティに他のオブジェクトの Picture プロパティまたは Image プロパティを代入するか、あるいは LoadPicture 関数の戻り値を代入します。3D グループ プッシュ ボタン コントロールの Picture プロパティは直接設定する必要があります。

データ型

整数型 (Integer)


 3D オプション ボタン コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

3D オプション ボタン コントロールは、標準のオプション ボタン (OptionButton) コントロールと同じ機能を持ち、オン/オフの切り替えを表示します。さらに 3D オプション ボタン コントロールでは、キャプションを立体的に表示できます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSOption

解説

3D オプション ボタンにはいくつかのカスタム プロパティがあり、それらのプロパティを使ってキャプションを立体的に表示することができます。3D オプション ボタン コントロールをフォームに配置すると、次に 3D オプション ボタン コントロールを配置するときは、これらのプロパティの設定が自動的に引き継がれます。

3D オプション ボタン コントロールでは、明るい灰色の影を付けることによってキャプションを立体的に表示します。3D オプション ボタン コントロールは BackColor プロパティを持ちません。3D オプション ボタン コントロールを使用するときは、フォームの BackColor プロパティも明るい灰色 (&H00C0C0C0&) に設定することをお勧めします。

配布時の注意   3D オプション ボタン コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D オプション ボタン コントロールのプロパティは次のとおりです。アスタリスク (*) は、3D オプション ボタン コントロールにのみ適用されるプロパティ、または 3D オプション ボタン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*Alignment	FontItalic	Index	Tag
Caption	FontName	Left	Top
Container	FontSize	MouseIcon	Value
DragIcon	FontStrikethru	MousePointer	Visible
DragMode	FontUnderline	Name	WhatsThisHelpID
Enabled	ForeColor	Object	Width
Font	Height	Parent
*Font3D	HelpContextID	TabIndex
FontBold	hWnd	TabStop
3D オプション ボタン コントロールでは、既定プロパティは Value プロパティです。

注   DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

3D オプション ボタン コントロールのイベントは次のとおりです。アスタリスク (*) は、3D オプション ボタン コントロールにのみ適用されるイベント、または3D オプション ボタン コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*Click	DragOver	KeyDown	KeyUp
*DblClick	GotFocus	KeyPress	LostFocus
DragDrop
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

3D オプション ボタン コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ZOrder
Move	SetFocus	ShowWhatsThis
注   Drag、SetFocus、および ZOrder メソッドは Microsoft Visual Basic でのみ使用できます。


DblClick イベント (3D オプション ボタン コントロール)

3D オプション ボタン コントロール上でマウス ボタンを押して離す操作が 2 回続けて行われたとき (ダブルクリックされたとき) に発生します。また、3D オプション ボタン コントロールの Value プロパティがコードから真 (True) に設定されると発生します。

構文

Private Sub OptionButton3d_DblClick (Value As Integer)

解説

この DblClick イベントは、3D オプション ボタン コントロールの Value プロパティが引数として渡される点を除いて、Miscrosoft Visual Basic の標準の DblClick イベントと同じです。3D オプション ボタン コントロールが選択されているとき、Value プロパティは真 (True) に設定され、選択されていないときは偽 (False) に設定されます。


 3D パネル コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

3D パネル コントロールは、文字列を立体的な背景の上に表示したり、他のコントロールをグループ化してフレームコントロールの代わりに立体的な背景の上に表示したりすることができます。また、リスト ボックス (ListBox)、コンボ ボックス (ComboBox)、スクロール バーなどの標準で用意されているコントロールを 3D パネル コントロールの子コントロールにすることによって、これらを立体的に表示できます。

ファイル名

THREED16.OCX、THREED32.OCX

クラス名

SSPanel

解説

3D パネル コントロールは立体的な長方形の領域で、大きさは任意に変更できます。変更できるコントロールの大きさは、最大でフォームと同じ大きさ、最小は 1 行の文字列を表示できる大きさまでです。色付きの円や棒を使用し、ステータス情報にパーセントを表示するかどうかを指定することができます。

3D パネル コントロールでは、OuterBevel、InnerBevel、BevelWidth、および BorderWidth の 4 つの基本表示プロパティを使用して視覚的な効果を上げることができます。これらのプロパティを組み合わせて、文字列およびコントロールのさまざまな背景を作成できます。3D パネル コントロールには、他の 3D コントロールと違って、BackColor プロパティがあります。BackColor プロパティの既定値は“明るい灰色”ですが、他の色にも変更できます。BackColor プロパティの使用によっては、フォームの実用性を損なわない、より効果的なパネルを表示できます。

3D パネル コントロールの特長は、キャプションや外枠を立体的に表示できることです。このためにいくつかのプロパティが用意されています。3D パネル コントロールをフォームに配置し、これらのプロパティを設定すると、次の 3D パネル コントロールを配置するときは、この設定が自動的に引き継がれます。

データ連結関連のプロパティ

3D パネル コントロールには、DataChanged、DataField、DataSource の 3 つのデータ連結関連のプロパティがあり、データ (Data) コントロールとリンクしてレコードセット内のカレント レコードのフィールドの値を表示できます。3D パネル コントロールは、レコードセットに値を書き込むこともできます。

DataField プロパティによって参照されるフィールドの値が読み込まれると、可能な場合は、Caption プロパティの文字列に変換されます。レコードセットが更新可能であれば、文字列はそのフィールドのデータ型に変換されます。

連結可能コントロールの詳細については、『プログラミング ガイド』の「第 22 章 データ コントロールのデータ アクセス機能」を参照してください。

配布時の注意   3D パネル コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

3D パネル コントロールのプロパティは次のとおりです。アスタリスク (*) は、3D パネル コントロールにのみ適用されるプロパティ、または 3D パネル コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

Align	DataSource	FontName	Negotiate
*Alignment	DragIcon	FontSize	Object
*AutoSize	DragMode	FontStrikethru	*Outline
BackColor	Enabled	FontUnderline	Parent
*BevelInner	*FloodColor	ForeColor	*RoundedCorners
*BevelOuter	*FloodPercent	Height	*ShadowColor
*BevelWidth	*FloodShowPct	hWnd	TabIndex
*BorderWidth	*FloodType	Index	Tag
Container	Font	Left	Top
DataChanged	*Font3D	MouseIcon	Visible
DataField	FontBold	MousePointer	WhatsThisHelpID
	FontItalic	Name	Width
3D パネル コントロールでは、既定プロパティは Caption プロパティです。

注   DragIcon、DragMode、HelpContextID、Index、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。

DataChanged、DataField、および DataSource の各プロパティはデータ連結関連のプロパティで、Visual Basic Version 3.0 でのみ使用できます。


イベント

3D パネル コントロールに適用されるイベントは次のとおりです。

Click	DragDrop	MouseDown	MouseUp
DblClick	DragOver	MouseMove
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

3D パネル コントロールに適用されるメソッドは次のとおりです。

Drag	Move	Refresh	ZOrder
ShowWhatsThis
注   Drag メソッドおよび ZOrder メソッドは Microsoft Visual Basic でのみ使用できます。


BevelInner プロパティ (3D パネル コントロール)

3D パネル コントロールの内側の傾斜面のスタイルを設定します。

構文

[form.]Panel3d.BevelInner[ = setting%]

機能

BevelInner プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 内側の傾斜面は表示されません。

1	内側の傾斜面は 3D パネル コントロールの上の面からくぼんで表示されます。

2	内側の傾斜面 3D パネル コントロールの上の面から浮き出て表示されます。

このプロパティは、BevelOuter、BevelWidth、BorderWidth の各プロパティと組み合わせて使います。

データ型

整数型 (列挙型)


BevelOuter プロパティ (3D パネル コントロール)

3D パネル コントロールの外側の傾斜面のスタイルを設定します。

構文

[form.]Panel3d.BevelOuter[ = setting%]

解説

BevelOuter プロパティの設定値は次のとおりです。

設定値	内容

0	外側の傾斜面は表示されません。

1	外側の傾斜面はフォームからくぼんで表示されます。

2	(既定値) 外側の傾斜面はフォームから浮き出て表示されます。

このプロパティは、BevelInner、BevelWidth、BorderWidth の各プロパティと組み合わせて使います。

データ型

整数型 (列挙型)


BorderWidth プロパティ (3D パネル コントロール)

3D パネル コントロールの内側と外側の傾斜面の間の幅を設定します。

構文

[form.]Panel3d.BorderWidth[ = width%]

解説

このプロパティでは、3D パネル コントロールの内側と外側の傾斜面の間の水平な部分の幅をピクセル単位で指定します。指定できる値は、0 ～ 30 の範囲の整数です。

このプロパティは、BevelInner、BevelOuter、BevelWidth の各プロパティと組み合わせて使います。

データ型

整数型 (Integer)


FloodColor プロパティ (3D パネル コントロール)

3D パネル コントロールをインジケータとして使うとき、つまり FloodType プロパティが 0 以外の値に設定されているとき、内側の傾斜面の内部の色を設定します。

構文

[form.]Panel3d.FloodColor[ = color&]

解説

FloodColor プロパティでは、標準の色と同じ範囲の設定値を指定できます。

設定値	内容

通常の RGB カラー	カラー パレット ウィンドウ、またはコード内で RGB 関数または QBColor 関数を使って指定する色。

システム カラー	オブジェクト ブラウザのオブジェクト ライブラリで指定される色。ユーザーが指定した色は、Microsoft Windows のコントロール パネルにおける設定に基づいて変換されます。

このプロパティは FloodPercent、FloodShowPct、FloodType の各プロパティと組み合わせて使い、色付きのインジケータを表示します。

デザイン時に FloodColor プロパティを設定するには、設定ボックスで 16 進数を直接入力するか、設定ボックスの右に表示される [...] ボタンをクリックします。[...] ボタンをクリックすると、Microsoft Visual Basic のカラー パレット ウィンドウと同じようなウィンドウが表示され、FloodColor プロパティに設定する色を選択します。

注   FloodColor プロパティの既定値は青 : RGB (0, 0, 255) です。通常の RGB カラーとして指定できるのは、0 ～ 16,777,215 (&HFFFFFF) の範囲の値です。この範囲の値の最上位バイトは 0 です。下位の 3 バイトは、最下位バイトから順に赤、緑、青の強さを指定します。赤、緑、青の各要素には、それぞれ 0 ～ 255 (&HFF) の範囲の値を指定します。

データ型

長整数型 (Long)


FloodPercent プロパティ (3D パネル コントロール)

例

3D パネル コントロールをインジケータとして使うとき、つまりFloodType プロパティが 0 以外の値に設定されているとき、3D パネル コントロールの傾斜面の内側の領域を塗りつぶす割合を指定します。このプロパティはデザイン時には使えません。

構文

[form.]Panel3d.FloodPercent[ = percent%]

解説

FloodPercent プロパティで指定できる値は、0 ～ 100 の範囲の整数です。

このプロパティは FloodColor、FloodShowPct、FloodType の各プロパティと組み合わせて使い、色付きのインジケータを表示します。

データ型

整数型 (Integer)


FloodPercent プロパティの例 (3D パネル コントロール)

次のプログラムでは、FloodPercent プロパティを使ってステータス バーの表示を更新します。

Private Sub Command1_Click ()

Panel3d1.FloodPercent = 0	' 初期設定。

Panel3d1.FloodType = 1	' 左から右に表示します。

' DoLongRunningProcess の部分に記述するプロセスを

' 繰り返し実行し、10% ごとにステータス バーの表示を

' 更新します。

For I% = 1 To 10

DoLongRunningProcess

Panel3d1.FloodPercent = I% * 10

a% = DoEvents()	' Windows が他の処理を

Next I%	' 実行できるようにします。

End Sub


FloodShowPct プロパティ (3D パネル コントロール)

3D パネル コントロールをインジケータとして使うとき、つまり FloodType プロパティが 0 以外の値に設定されているとき、FloodPercent プロパティの現在の設定値を 3D パネル コントロールの中央に表示するかどうかを設定します。

構文

[form.]Panel3d.FloodShowPct[ = {True | False}]

機能

FloodShowPct プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) FloodPercent プロパティの値を表示します。

False	FloodPercent プロパティの値を表示しません。

データ型

整数型 (ブール型)


FloodType プロパティ (3D パネル コントロール)

3D パネル コントロールをインジケータとして使うかどうかを設定します。

構文

[form.]Panel3d.FloodType[ = setting%]

機能

FloodType プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 3D パネル コントロールはインジケータとしては機能しません。Caption プロパティが設定されているときはキャプションを表示します。

1	FloodPercent プロパティの設定値に応じて、内側の傾斜面の内部を左から右へ塗りつぶします。

2	FloodPercent プロパティの設定値に応じて、内側の傾斜面の内部を右から左へ塗りつぶします。

3	FloodPercent プロパティの設定に応じて、内側の傾斜面の内部を上から下へ塗りつぶします。

4	FloodPercent プロパティの設定に応じて、内側の傾斜面の内部を下から上へ塗りつぶします。

5	FloodPercent プロパティの設定に応じて、内側の傾斜面の内部に、中心から外側へ円を描きます。

このプロパティを 0 以外の値に設定して、3D パネル コントロールをインジケータとして使う場合、塗りつぶす色は FloodColor プロパティで設定します。

注   FloodType プロパティが 0 以外の値に設定されている場合は、Caption プロパティを設定しても、キャプションは表示されません。

データ型

整数型 (列挙型)


 アニメーション ボタン コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

アニメーション ボタン コントロールは、ビットマップまたはアイコンを使って、複数のイメージ フレームで構成されるボタンを定義します。コントロールには、アニメーション ボタン、マルチステート ボタン、および 2 ステート アニメーション ボタンの 3 種類のボタンがあります。

ファイル名

ANIBTN16.OCX、ANIBTN32.OCX

クラス名

AniPushButton

解説

アニメーション ボタンには複数のイメージとキャプションが表示されます。アニメーション ボタンは順番に表示される連続したフレームであると考えることができます。

アニメーション ボタン コントロールにピクチャ イメージをロードするは、Picture プロパティで設定します。この Picture プロパティを使用してアクセスできるピクチャ イメージは、Frame プロパティに示されます。Frame プロパティはピクチャ イメージの配列のインデックスと考えることもできます。

特にプロパティを設定しない限り、イメージ フレームはアニメーション ボタンの中央に表示されます。また、PictureXpos プロパティおよび PictureYpos プロパティを使って、表示する位置を指定することもできます。PictDrawMode プロパティを使うと、イメージ フレームの大きさをボタンに合わせて変更したり、ボタンの大きさをイメージ フレームに合わせて変更できます。

アニメーション ボタンではキャプションも表示でき、その配置は TextPosition プロパティで設定します。TextPosition プロパティでは、イメージ フレームの配置も設定します。

配布時の注意   アニメーション ボタンを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。

アニメーション ボタンの種類とサイクル

フレーム シーケンスを使用してアニメーション ボタンを作成するには、次に示す方法があります。

ボタンの種類	サイクル	解説

アニメーション ボタン	0	マウスの左ボタンを押すと、フレーム シーケンスの半分が表示されます。ボタンを離すと、残りのフレーム シーケンスが表示され、最初のフレームに戻ります。

マルチステート ボタン	1	フレームは、それぞれ１つの状態を表わしています。マウスの左ボタンをクリックすると、次の状態になり、それに応じたフレームが表示されます。

2 ステート アニメーション ボタン	2	マウスの左ボタンをクリックすると、フレーム シーケンスの半分が表示され、Value プロパティは 2 に変わります (チェックされます)。

再びボタンをクリックすると、残りのフレーム シーケンスが表示され、最初のフレームに戻ります。Value プロパティは 1 に戻ります。

エンハンスト ボタン	0	フレームを２つだけもつアニメーション ボタン

エンハンスト チェック ボックス	1	フレームを２つだけ持つマルチステート ボタン

クリップボードのイメージをアニメーション ボタンのフレームに直接渡すことができます。フレームをロードする場合、Windows のメタファイルを直接渡すこともできます。このとき、イメージはコントロールのサイズになり、さらにビットマップに変換されます。

注   アニメーション ボタン コントロールは通常サイズの小さいボタンを作成するのに使用しますが、大きなビットマップを読み込ませることもできます。アニメーション ボタンが保持するビットマップやアイコンは Windows のリソースをほとんど使いません。データはプロセス間で共有されるメモリに特別な形式で格納され、Windows のビットマップまたはアイコン リソース ハンドルを使いません。アニメーション ボタンは、ビットマップまたはアイコンを保存するツールとしても便利です。


プロパティ

アニメーション ボタン コントロールのプロパティは次のとおりです。アスタリスク (*) は、アニメーション ボタン コントロールにのみ適用されるプロパティ、または アニメーション ボタン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

BackColor	Font	hWnd	*SpecialOp
BorderStyle	FontBold	Index	*Speed
Caption	FontItalic	Left	TabIndex
*CCBfileLoad	FontName	MouseIcon	TabStop
*CCBfileSave	FontSize	MousePointer	Tag
*ClearFirst	FontStrikethru	Name	*TextPosition
*ClickFilter	FontUnderline	Object	*TextXpos
Caption	ForeColor	Parent	*TextYpos
*Cycle	*Frame	*PictDrawMode	Top
DragIcon	Height	*Picture	*Value
DragMode	HelpContextID	*PictureXpos	Visible
Enabled	*HideFocusBox	*PictureYpos	WhatsThisHelpID
			Width
アニメーション ボタンでは、既定プロパティは Value プロパティです。

注   Name プロパティは、Visual Basic Version 1.0 の CtlName プロパティに対応します。


イベント

アニメーション ボタン コントロールのイベントは次のとおりです。アスタリスク (*) は、アニメーション ボタン コントロールにのみ適用されるイベント、または アニメーション ボタン コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*Click	DragOver	KeyDown	KeyUp
DragDrop	GotFocus	KeyPress	LostFocus


メソッド

アニメーション ボタンに適用されるメソッドは次のとおりです。一般的なメソッドについては、『カスタム コントロール リファレンス』の「付録 A 標準のプロパティ、イベント、およびメソッド」を参照してください。

Drag	Refresh	ZOrder
Move	SetFocus


CCBfileLoad プロパティ (アニメーション ボタン コントロール)

CCBfileSave プロパティを使って保存した .CCB ファイルから、イメージ データとプロパティの設定値を読み込みます。このプロパティは設定のみ可能です。

構文

[form.]AniButton.CCBfileLoad = filename$

解説

アニメーション ボタンのファイルはすべて、拡張子として .CCB を持ちます。

.CCB ファイルには、イメージ データとアニメーション ボタン コントロール固有のプロパティの設定値だけが保存されます。BorderStyle プロパティ以外の標準プロパティの値は .CCB ファイルには保存されません。アニメーション ボタンのイメージ データとプロパティの設定値をすべて保存するには、アニメーション ボタンをフォームに配置し、そのフォームを保存します。Microsoft Visual C++ に付属の AppStudio アプリケーションでは、コントロールをダイアログに配置してそのダイアログを保存します。クリップボードを使用してコントロールをコピーすることもできます。

読み込むファイル名を指定するには、設定ボックスにファイル名を直接入力するか、[...] ボタンをクリックして [AniButton Control のプロパティ] ダイアログ ボックスを表示し、[Load CCB] ボタンを選択して目的のファイルを指定します。

データ型

文字列型 (String)


CCBfileSave プロパティ (アニメーション ボタン コントロール)

アニメーション ボタン コントロール固有のプロパティの設定値をファイルに保存します。このプロパティは設定のみ可能です。

構文

[form.]AniButton.CCBfileSave = filename$

解説

保存するファイルの名前は引数 filename$ で指定します。拡張子は自動的に .CCB になります。

アニメーション ボタン コントロールのライブラリを作成するには、このプロパティを使って、イメージ データとプロパティの設定値をファイルに保存します。.CCB ファイルには、イメージ データとアニメーション ボタン コントロール固有のプロパティの設定値だけが保存されます。BorderStyle プロパティ以外の標準プロパティの値は .CCB ファイルには保存されません。アニメーション ボタン コントロールのイメージ データとプロパティの設定値をすべて保存するには、アニメーション ボタン コントロールをフォームに配置し、そのフォームを保存します。Microsoft Visual C++ に付属の AppStudio アプリケーションでは、コントロールをダイアログに配置してそのダイアログを保存します。クリップボードを使用してコントロールをコピーすることもできます。

保存するファイル名を指定するには、設定ボックスにファイル名を直接入力するか、[...] ボタンをクリックして [AniButton Control のプロパティ] ダイアログ ボックスを表示し、[Save CCB] ボタンを選択して目的のファイルを指定します。

データ型

文字列型 (String)


ClearFirst プロパティ (アニメーション ボタン コントロール)

次のフレームを表示する前に、前のフレームを消去するかどうかを設定します。

構文

[form.]AniButton.ClearFirst[ = {True | False}]

解説

アニメーション ボタン コントロールは、通常、元のフレームの上に新しいフレームを描くことによって動画処理を行います。これによって、動きがあるイメージでもスムーズな表示が可能になります。

動きが激しいイメージの場合、元のフレームと新しいフレームを同時に表示すると、残像が残ることがあります。

ClearFirst プロパティを真 (True) に設定すると、次のフレームを表示する前に、前のフレームをクリアします。これによって残像は低減されますが、ちらつきが起きやすくなります。両方の設定値で試し、より効果的な方法を確認してください。

ClearFirst プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) 次のフレームを表示する前に、前のフレームをクリアしません。

True	次のフレームを表示する前に、前のフレームをクリアします。

データ型

整数型 (ブール型)


ClickFilter プロパティ (アニメーション ボタン コントロール)

アニメーション ボタン コントロールで、Click イベントが発生する領域を設定します。

構文

[form.]AniButton.ClickFilter[ = setting%]

解説

ClickFilter プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) アニメーション ボタン コントロール内の任意の部分でマウス ボタンのクリックを認識します。

1	キャプション テキスト上、またはイメージ フレーム内でマウス ボタンのクリックを認識します。

2	イメージ フレーム内でマウス ボタンのクリックを認識します。

3	キャプション テキスト上でマウス ボタンのクリックを認識します。

このプロパティで設定した領域以外でのマウス ボタンのクリックは認識されません。マウス ボタンのクリックが認識されると、アニメーション ボタンから Click イベントが発生します。

データ型

整数型 (列挙型)


Cycle プロパティ (アニメーション ボタン コントロール)

アニメーション ボタンのフレーム シーケンスの表示方法 (サイクル) を設定します。アニメーション ボタン コントロールは、サイクルによって、アニメーション ボタン、マルチステート ボタン、2 ステート アニメーション ボタンの 3 つに分けられます。

構文

[form.]AniButton.Cycle[ = setting%]

解説

Cycle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) アニメーション ボタン コントロールを押すと、フレーム シーケンスの半分が再生されます。ボタンを離すと、残りのフレーム シーケンスが再生され、最初のフレームに戻ります。

1	アニメーション ボタン コントロールをクリックすると、次のフレームが表示されます。このとき、Value プロパティの値がインクリメントされます。最後のフレームが表示されているときにボタンをクリックすると、最初のフレームが表示されます。このようなボタンをマルチステート ボタンと呼びます。

2	アニメーション ボタン コントロールをクリックすると、フレーム シーケンスの半分が再生されます。このとき、Value プロパティの値が (1 から) 2 に変更されます。再びボタンをクリックすると、残りのフレーム シーケンスが再生され、最初のフレームに戻ります。このとき Value プロパティの値は 1 に戻ります。このようなボタンを 2 ステート アニメーション ボタンと呼びます。

Cycle プロパティでは、イメージの表示方法のみ指定することができます。Click イベントはボタンをクリックしたときに発生します。ボタンがフォーカスを持っている場合に Space キーを押すと、マウスでクリックしたときと同じように、そのボタンが選択されます。

データ型

整数型 (列挙型)


Frame プロパティ (アニメーション ボタン コントロール)

例

ピクチャ イメージを設定または参照するときに、対象となるフレーム (カレント フレーム) を指定します。

構文

[form.]AniButton.Frame[ = setting%]

解説

Frame プロパティを指定すると、次の処理が実行されます。

カレント フレームはデザイン時に表示されます。

カレント フレームには、プログラムのデザイン時および実行時に、Picture プロパティを使用してアクセスできます。

Frame プロパティは、実行時のアニメーション ボタンの表示には影響を与えません。Picture プロパティを使用してピクチャ イメージを設定または参照するときは、Frame プロパティを使用して対象となるフレーム (カレント フレーム) を指定します。

Frame プロパティで指定できる値は、1 ～ フレームの数 + 1 の範囲の整数です。引数 setting% は、デザイン時に表示されるフレームの、またはデザイン時および実行時にアクセスできるフレームの番号を示します。

データ型

整数型 (Integer)


Frame プロパティの例 (アニメーション ボタン コントロール)

次のプログラムでは、実行時にアニメーション ボタンのフレームの数を調べます。

Private Sub Form_Click ()

Dim a%, done%

' フレームの数を保持します。

a% = 1

' 処理が終了したかどうか、このフラグで判断します。

done% = 0

On Error GoTo foundprop

Do

' ボタンの CtlName プロパティを記述します。

AniButton1.frame = a%

' 処理は終了しました。a% はエラーが発生した

' フレームの番号を保持しています。

If done% Then Exit Do

a% = a% + 1

Loop While - 1

' a% は空のフレームを持っているので

' a% - 1 によりピクチャ イメージの実際の数を計算します。

a% = a% - 1

Exit Sub

FoundProp:

done% = -1

Resume Next

End Sub


HideFocusBox プロパティ (アニメーション ボタン コントロール)

アニメーション ボタンがフォーカスを持つときは、キャプション (キャプションが設定されていないときはイメージ) が長方形の点線で囲まれます。

この点線を表示することによって、アニメーションが乱れる場合もあります。点線を表示しない場合、このプロパティを真 (True) に設定します。

構文

[form.]AniButton.HideFocusBox[ = {True | False}]

解説

HideFocusBox プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) アニメーション ボタン コントロールがフォーカスを持つとき、それを示す長方形の点線が表示されます。

True	アニメーション ボタン コントロールがフォーカスを持つときでも、それを示す長方形の点線は表示されません。

データ型

整数型 (ブール型)


PictDrawMode プロパティ (アニメーション ボタン コントロール)

イメージ フレームの大きさに合わせてアニメーション ボタン コントロールの大きさを変更するか、アニメーション ボタン コントロールの大きさに合わせてイメージ フレームの大きさを変更するかを設定します。

構文

[form.]AniButton.PictDrawMode[ = setting%]

解説

PictDrawMode プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) PictureXpos プロパティおよび PictureYpos プロパティの設定に従ってピクチャを配置し、TextPosition プロパティの設定に従ってキャプションを配置します。これらのプロパティでは、0 ～ 100 の範囲で X 座標と Y 座標を指定します。

1	アニメーション ボタン コントロールのサイズは、最も大きなイメージ フレームまたはキャプションの、どちらか大きなほうに合わせて自動的に調節されます。

2	アニメーション ボタン コントロールのサイズに合わせてイメージ フレームのサイズを変更します。このモードでは、キャプションは TextPosition プロパティが 0 に設定された場合と同じように、常にイメージ フレームの上部中央に表示されます。

データ型

整数型 (列挙型)


Picture プロパティ (アニメーション ボタン コントロール)

このプロパティは、アニメーション ボタンの各イメージに表示するピクチャ イメージを設定します。デザイン時に読み込むファイル名を指定するには、設定ボックスにファイル名を直接入力するか、[...] ボタンをクリックして [ピクチャの読み込み] ダイアログ ボックスを表示し、目的のファイルを選択します。

このプロパティを使うと、フォームまたはピクチャ ボックスとアニメーション ボタンとの間で、ピクチャ データをやり取りすることができます。これは、フォームとピクチャ ボックスの間でピクチャ データをやり取りする場合と同様に、Picture プロパティを使用して行ないます。例えば、

Form.Picture = Anibutton1.Picture

このプロパティを通してアクセスされるイメージ フレームは、常に Frame プロパティで指定されています。


PictureXpos プロパティ (アニメーション ボタン コントロール)

イメージの水平方向の配置を設定します。

構文

[form.]AniButton.PictureXpos[ = setting%]

解説

このプロパティで指定できる値は 0 ～ 100 の範囲の整数で、アニメーション ボタン コントロールの幅に対する左端からのパーセンテージを表します。0 のときはアニメーション ボタン コントロールの左端にイメージが表示され、100 のときはアニメーション ボタン コントロールの右端に表示されます。既定値は 50 です。このプロパティの動作は、TextPosition プロパティの設定によって変化します。

データ型

整数型 (Integer)


PictureYpos プロパティ (アニメーション ボタン コントロール)

イメージの垂直方向の配置を設定します。

構文

[form.]AniButton.PictureYpos[ = setting%]

解説

このプロパティで指定できる値は 0 ～ 100 の範囲の整数で、アニメーション ボタン コントロールの高さに対する上端からのパーセンテージを表します。このプロパティを 0 に設定すると、ピクチャ イメージはアニメーション ボタン コントロールの上端に表示され、100 に設定するとアニメーション ボタン コントロールの下端に表示されます。既定値は 50 です。このプロパティの動作は、TextPosition プロパティの設定によって変化します。

データ型

整数型 (Integer)


SpecialOp プロパティ (アニメーション ボタン コントロール)

実行時にマウスの左ボタンのクリックをシミュレートします。このプロパティはデザイン時には使えません。実行時には設定のみ可能です。

構文

[form.]AniButton.SpecialOp = setting%

解説

SpecialOp プロパティの設定値は次のとおりです。

設定値	内容

1	マウスのクリックをシミュレートし、Click イベントを発生させます。アニメーション ボタンがマウスの左ボタンでクリックされたときと全く同じ動作をします。アニメーション ボタンにフォーカスが移り、必要に応じてフォームがアクティブになります。アニメーション ボタンの Enabled プロパティが偽 (False) に設定されているときは、このプロパティを設定しても無視されます。アニメーション ボタン コントロールの Visible プロパティが偽 (False) に設定されている場合も、このプロパティは無視されます。

そのほかの値	無視されます。エラーは起こりません。

データ型

整数型 (Integer)


Speed プロパティ (アニメーション ボタン コントロール)

フレームを表示する間隔をミリ秒単位で指定します。

構文

[form.]AniButton.Speed[ = setting%]

解説

指定できる値は 0 ～ 32,767 の範囲の整数で、既定値は 0 です。

指定する値が大きくなるほどアニメーションの速度は遅くなります。特に大きな値を指定するとシステムの処理に影響を及ぼします。100 以下に設定することが適当です。

データ型

整数型 (Integer)


TextPosition プロパティ (アニメーション ボタン コントロール)

アニメーション ボタンのキャプションとイメージを表示する位置を設定します。

構文

[form.]AniButton.TextPosition[ = setting%]

解説

TextPosition プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) キャプションの配置は、TextXpos プロパティおよび TextYpos プロパティで設定します。イメージの配置は、PictDrawMode、PictureXpos、PictureYpos の各プロパティで設定します。

1	アニメーション ボタンの左端にイメージを配置します。キャプションはイメージの右端とボタンの右端の間に配置され、TextXpos プロパティで水平方向の配置を設定します。イメージとキャプションの垂直方向の配置は、PictureYpos プロパティおよび TextYpos プロパティで設定します。

2	アニメーション ボタンの右端にイメージを配置します。キャプションはボタンの左端とイメージの左端の間に配置され、TextXpos プロパティで水平方向の配置を設定します。イメージとキャプションの垂直方向の配置は、PictureYpos プロパティおよび TextYpos プロパティで設定します。

3	アニメーション ボタンの下端にイメージを配置します。キャプションはボタンの上端とイメージの上端の間に配置され、TextYpos プロパティで垂直方向の配置を設定します。イメージとキャプションの水平方向の配置は、PictureXpos プロパティおよび TextXpos プロパティで設定します。

4	アニメーション ボタンの上端にイメージを配置します。キャプションはイメージの下端とボタンの下端の間に配置され、TextYpos プロパティで垂直方向の配置を設定します。イメージとキャプションの水平方向の配置は、PictureXpos プロパティおよび TextXpos プロパティで設定します。

注   PictDrawMode プロパティが 2 に設定されているときは、キャプションの配置は TextXpos プロパティおよび TextYpos プロパティで設定します｡

データ型

整数型 (列挙型)


TextXpos プロパティ (アニメーション ボタン コントロール)

キャプションの水平方向の配置を設定します。

構文

[form.]AniButton.TextXpos[ = setting%]

解説

このプロパティに指定できる値は 0 ～ 100 の範囲の整数で、キャプション領域の幅に対する左端からのパーセンテージを表します。0 のときはキャプション領域の左端にキャプションが表示され、100 のときはキャプション領域の右端に表示されます。既定値は 50 です。

アニメーション ボタン コントロールのうち、キャプションの表示可能領域をキャプション領域と呼びます。この領域は次のように、TextPosition プロパティの設定によって変化します。

設定値	内容

0	キャプション領域はコントロール全体です。キャプションはイメージに重なって表示されます。

1	キャプションはイメージの右側に配置されます。

2	キャプションはイメージの左側に配置されます。

3	キャプションはイメージの上側に配置されます。

4	キャプションはイメージの下側に配置されます。

データ型

整数型 (列挙型)


TextYpos プロパティ (アニメーション ボタン コントロール)

キャプションの垂直方向の配置を設定します。

構文

[form.]AniButton.TextYpos[ = setting%]

解説

このプロパティに指定できる値は 0 ～ 100 の範囲の整数で、キャプション領域の高さに対する上端からのパーセンテージを表します。0 のときはキャプション領域の上端にキャプションが表示され、100 のときはキャプション領域の下端に表示されます。既定値は 50 です。

アニメーション ボタン コントロールのうち、キャプションの表示可能領域をキャプション領域と呼びます。この領域は次のように、TextPosition プロパティの設定によって変化します。

設定値	内容

0 	キャプション領域はコントロール全体です。キャプションはイメージに重なって表示されます。

1	キャプションはイメージの右側に配置されます。

2	キャプションはイメージの左側に配置されます。

3	キャプションはイメージの上側に配置されます。

4	キャプションはイメージの下側に配置されます。

データ型

整数型 (列挙型)


Value プロパティ (アニメーション ボタン コントロール)

マルチステート ボタンのフレーム番号または 2 ステート ボタンの状態を設定します。このプロパティが異なったボタンやアニメーションによりどのように動作するのかは、Cycle プロパティを参照してください。

構文

[form.]AniButton.Value[ = setting%]

解説

このプロパティを使用すると、アニメーション ボタン コントロールのカレント フレームの番号を取得することができます。Cycle プロパティが 1 に設定してある場合は、Value プロパティを使用して、指定したフレームを表示させることができます。

コントロールの Value プロパティの設定が変更されると、続けて次のイベントが発生するまで (例えば DoEvents 関数)、表示は変わりません。

Value プロパティを設定しても、Click イベントは発生しません。

データ型

整数型 (列挙型)


Click イベント (アニメーション ボタン コントロール)

アニメーション ボタン上でマウス ボタンを押して離したときに発生します。

構文

Private Sub AniButton_Click ()

解説

この Click イベントは、Enter キーを押したときには発生しない点を除いて、標準の Click イベントと同じです。Enter キーの入力を検出する必要があるときは、KeyPress イベントを使ってください。


 コミュニケーション コントロール

プロパティ	イベント	関数	例	定数	エラー メッセージ

コミュニケーション コントロールによって、シリアル ポートを通じてデータを送受信できるようになり、アプリケーションでシリアル通信を行うことができます。

ファイル名

MSCOMM16.OCX

クラス名

MSComm

解説

コミュニケーション コントロールでは、次の 2 つの通信処理方法を使うことができます。

イベント ドリブンによる処理方法
シリアル ポート操作としては効率的な方法です。Carrier Detect (CD) ラインまたは Request To Send (RTS) ライン内で文字が到着したときや、変化が発生したときと同様に、イベントが発生した瞬間に通知を受けることができます。このような場合には、コミュニケーション コントロールの OnComm イベントを使って、これらの通信イベントをトラップし、処理します。また、OnComm イベントによって、通信エラーも検出され、処理されます。発生するすべてのイベントと通信エラーの一覧については、「CommEvent プロパティ」を参照してください。

ポーリングによる処理方法
プログラム内の主要な各関数を実行した後に、CommEvent プロパティの値をチェックして、イベントとエラーをポーリングする方法です。アプリケーションが小規模で、単独で動作する場合、この方法が望ましいことがあります。たとえば、単純な電話ダイヤル プログラムを作成する場合、受信する文字はモデムからの OK 応答だけなので、文字を受信するたびにイベントを発生させる必要はありません。

ユーザーが使う各コミュニケーション コントロールは、それぞれ 1 つのシリアル ポートと対応します。アプリケーション内で複数のシリアル ポートにアクセスしたいときは、複数のコミュニケーション コントロールを使わなければなりません。ポート アドレスと割り込みアドレスは、Microsoft Windows のコントロール パネルを使って変更することができます。

コミュニケーション コントロールの主なプロパティは次のとおりです。

プロパティ	内容

CommPort	通信ポート番号を設定します。値の取得も可能です。

Settings	通信速度、パリティ、データ長、およびストップ ビットを文字列として設定します。値の取得も可能です。

PortOpen	通信ポートの状態を設定します。値の取得も可能です。また、ポートを開き、閉じます。

Input	受信バッファから文字を取得して削除します。

Output	文字列を伝送バッファに書き込みます。

配布時の注意   コミュニケーション コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


コミュニケーション コントロールの例

次のプログラムでは、基本的なシリアル ポート通信を行う方法を示しています。

Private Sub Form_Load ()

' COM1 を使います。

Comm1.CommPort = 1

' 9600bps、パリティなし、8 データ、および 1 ストップ ビット。

Comm1.Settings = "9600,N,8,1"

' コントロールに対して、Input プロパティを使うときにバッファ全体を読み取るように指示します。

Comm1.InputLen = 0

' ポートを開きます。

Comm1.PortOpen = True

' モデムに AT コマンドを送信します。

Comm1.Output = "AT" + Chr$(13)

' データがシリアル ポートに戻るのを待ちます。

Do

Dummy = DoEvents()

Loop Until Comm1.InBufferCount >= 2

' シリアル ポート内で "OK" 応答データを読み取ります。

InString$ = Comm1.Input

' シリアル ポートを閉じます。

Comm1.PortOpen = False

End Sub


プロパティ

コミュニケーション コントロールのプロパティは次のとおりです。アスタリスク (*) は、コミュニケーション コントロールにのみ適用されるプロパティ、または コミュニケーション コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*Break	*DSRTimeout	Left	*PortOpen
*CDHolding	*DTREnable	Name	*RThreshold
*CDTimeout	*Handshaking	*NullDiscard	*RTSEnable
*CommEvent	*InBufferCount	Object	*Settings
*CommID	*InBufferSize	*OutBufferCount	*SThreshold
*CommPort	Index	*OutBufferSize	Tag
*CTSHolding	*Input	*Output	Top
*CTSTimeout	*InputLen	Parent
*DSRHolding	*Interval	*ParityReplace
コミュニケーション コントロールでは、既定プロパティは Input プロパティです。

注   Name プロパティは Microsoft Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

コミュニケーション コントロールのイベントは次のとおりです。アスタリスク (*) は、コミュニケーション コントロールにのみ適用されるイベント、またはコミュニケーション コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*OnComm


関数

コミュニケーション コントロールで使用する関数は次のとおりです。アスタリスク (*) は、コミュニケーション コントロールにのみ適用される関数、またはコミュニケーション コントロールと共に使う場合に特に注意が必要な関数を示しています。

*ComInput	*ComOutput


Break プロパティ (コミュニケーション コントロール)

例

ブレーク信号の状態を設定または解除します。このプロパティは、デザイン時には使えません。

構文

[form.]MSComm.Break[ = {True | False}]

解説

Break プロパティの設定値は次のとおりです。

設定値	内容

True	ブレーク信号の状態を設定します。

False	ブレーク信号の状態を解除します。

Break プロパティを真 (True) に設定すると、ブレーク信号が送信されます。ブレーク信号は、文字の伝送を中断して Break プロパティを偽 (False) に設定するまで伝送回線をブレーク状態にします。

一般に、通信相手のデバイスでブレーク信号を設定する必要があるときだけ、短時間のブレーク状態を設定します。

データ型

整数型 (ブール型)


Break プロパティの例 (コミュニケーション コントロール)

次のプログラムでは、ブレーク信号を 0.1 秒間送信する方法を示しています。

' Break プロパティの状態を設定します。

Comm1.Break = True

' 送信時間を 1/10 秒に設定します。

Duration! = Timer + .1

' 設定した送信時間が経過するまで待ちます。

Do Until Timer > Duration!

Dummy = DoEvents()

Loop

' Break プロパティの状態を解除します。

Comm1.Break = False


CDHolding プロパティ (コミュニケーション コントロール)

Carrier Detect (CD) ラインの状態を照会して、キャリアが存在するかどうかを判別します。Carrier Detect は、モデムがオンライン状態であることを示すために、モデムから接続先のコンピュータに送信される信号です。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.CDHolding

解説

CDHolding プロパティの設定値は次のとおりです。

設定値	内容

True	Carrier Detect ラインはオンです。

False	Carrier Detect ラインはオフです。

Carrier Detect ラインがオン (CDHolding プロパティが真 (True) ) のときに、CDTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comCDTO (Carrier Detect Timeout Error) に設定され、OnComm イベントが発生します。

注   呼び出し側はいつでも回線を切る (キャリアのドロップ) ことができるので、掲示板などのホスト アプリケーション内では、キャリアの喪失をトラップすることが特に重要です。

Carrier Detect は、Receive Line Signal Detect (RLSD) とも呼ばれます。

OnComm イベントを使ってこの条件をトラップする方法については、「CDTimeout プロパティ」を参照してください。

データ型

整数型 (ブール型)


CDTimeout プロパティ (コミュニケーション コントロール)

コントロールがタイムアウトする前に Carrier Detect (CD) 信号を待つ最大時間 (ミリ秒数) を設定します。値の取得も可能です。このプロパティは、CommEvent プロパティを comCDTO (Carrier Detect Timeout Error) に設定し、OnComm イベントを発生させて、タイムアウトを通知します。

構文

[form.]MSComm.CDTimeout[ = milliseconds&]

解説

注   このプロパティは、32 ビット版のコミュニケーション コントロール (MSCOMM32.OCX) ではサポートされません。

Carrier Detect ラインがオフ (CDHolding プロパティが偽 (False)) のときに、CDTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comCDTO (Carrier Detect Timeout Error) に設定され、OnComm イベントが発生します。

キャリアの有無を検出する方法については、「CDHolding プロパティ」を参照してください。

データ型

長整数型 (Long)


CommEvent プロパティ (コミュニケーション コントロール)

最新の通信イベントまたはエラーを返します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.CommEvent

解説

通信エラーまたはイベントが発生すると OnComm イベントが発生します。CommEvent プロパティには、そのエラーまたはイベントを表す値が返されます。OnComm イベントの原因となった実際のエラーまたはイベントを判別するには、CommEvent プロパティを参照しなければなりません。

CommEvent プロパティで取得するコードは、次の通信エラーまたはイベントのいずれかの値です。この値は、オブジェクト ブラウザのオブジェクト ライブラリで指定されます。

通信エラーの設定値は次のとおりです。

設定値	値	内容

comBreak	1001	Break 信号を受信しました。

comCTSTO	1002	Clear To Send ラインは、1 文字を伝送しようとする間に、CTSTimeout プロパティで指定したミリ秒数だけオフになっていました。

comDSRTO	1003	Data Set Ready ラインは、1 文字を伝送しようとする間に、DSRTimeout プロパティで指定したミリ秒数だけオフになっていました。

comFrame	1004	ハードウェアによってフレーム エラーが検出されました。

comOverrun	1006	次の文字が到着する前にハードウェアから 1 文字が読み取られず、失われました。

comCDTO	1007	Carrier Detect ラインは、1 文字を伝送しようとする間に、CDTimeout プロパティで指定したミリ秒数だけオフになっていました。Carrier Detect は、Receive Line Signal Detect (RLSD) とも呼ばれます。

comRxOver	1008	受信バッファがオーバーフローしました。

comRxParity	1009	ハードウェアによってパリティ エラーが検出されました。

comTxFull	1010	1 文字を待ち行列に入れようとする間に、伝送バッファがいっぱいになりました。

通信イベントの設定値は次のとおりです。

設定値	値	説明

comEvSend	1	伝送バッファには、SThreshold プロパティで指定した文字数よりも少ない文字が入っています。

comEvReceive	2	RThreshold プロパティで指定した文字数を受信しました。このイベントは、Input プロパティを使ってデータを受信バッファから削除するまで、絶えず生成されます。

comEvCTS	3	Clear To Send ライン内の変化。

comEvDSR	4	Data Set Ready ライン内の変化。このイベントは、DSR が 1 から 0 に変化したときにのみ発生します。

comEvCD	5	Carrier Detect ライン内の変化。

comEvRing	6	リングが検出されました。UART (汎用非同期送受信装置) によっては、このイベントがサポートされないものがあります。

comEvEOF	7	EOF (end-of-file) (ASCII 文字 26) 文字を受信しました。

データ型

整数型 (Integer)


CommID プロパティ (コミュニケーション コントロール)

通信デバイスを識別するハンドルを取得します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.CommID

解説

これは、Windows API の OpenComm 関数によって取得され、Windows API 内の内部通信ルーチンに使われる値です。

データ型

整数型 (Integer)


CommPort プロパティ (コミュニケーション コントロール)

通信ポート番号を設定します。値の取得も可能です。

構文

[form.]MSComm.CommPort[ = portNumber%]

解説

デザイン時に、引数 portNumber を 1 から 99 までの任意の値に設定することができます。既定値は 1 です。ただし、PortOpen プロパティを使ってポートを開くときに、そのポートが存在しなければ、コミュニケーション コントロールによってエラー 68 (Device unavailable) が発生します。

注意   ポートを開く前に、CommPort プロパティを設定する必要があります。

データ型

整数型 (Integer)


CTSHolding プロパティ (コミュニケーション コントロール)

Clear To Send (CTS) ラインの状態を照会して、データを送信できるかどうかを判別します。一般に、Clear To Send 信号は、伝送できることを示すために、モデムから接続先のコンピュータに送信されます。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.CTSHolding

解説

CTSHolding プロパティの設定値は次のとおりです。

設定値	内容

True	Clear To Send ラインがオンです。

False	Clear To Send ラインがオフです。

Clear To Send ラインがオフ (CTSHolding プロパティが偽 (False)) のときに、CTSTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comCTSTO (Clear To Send Timeout) に設定され、OnComm イベントが呼び出されます。

Clear To Send ラインは、RTS/CTS (Request To Send/Clear To Send) ハードウェア ハンドシェイクに使われます。CTSHolding プロパティを使うと、Clear To Send ラインの状態を判別したいときに、手動でポーリングすることができます。

ハンドシェイク プロトコルの詳細については、「Handshaking プロパティ」を参照してください。

データ型

整数型 (ブール型)


CTSTimeout プロパティ (コミュニケーション コントロール)

CommEvent プロパティを comCTSTO に設定して OnComm イベントが発生する前に、Clear To Send 信号を待つミリ秒数を設定します。値の取得も可能です。

構文

[form.]MSComm.CTSTimeout[ = milliseconds&]

解説

注   このプロパティは、32 ビット版のコミュニケーション コントロール (MSCOMM32.OCX) ではサポートされません。

Clear To Send ラインがオフ (CTSHolding プロパティが偽 (False)) のときに、CTSTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comCTSTO (Clear To Send Timeout) に設定され、OnComm イベントが発生します。

CTSHolding プロパティを使うと、Clear To Send ラインを手動でポーリングすることができます。詳細については、「CTSHolding プロパティ」を参照してください。

データ型

長整数型 (Long)


DSRHolding プロパティ (コミュニケーション コントロール)

Data Set Ready (DSR) ラインの状態を判別します。通常、Data Set Ready 信号は、作動準備ができていることを示すために、モデムから接続先のコンピュータに送信されます。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.DSRHolding

解説

DSRHolding プロパティの設定値は次のとおりです。

設定値	内容

True	Data Set Ready ラインがオンです。

False	Data Set Ready ラインがオフです。

Data Set Ready ラインがオン (DSRHolding プロパティが真 (True)) のときに、DSRTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comDSRTO (Data Set Ready Timeout) に設定され、OnComm イベントが呼び出されます。

このプロパティは、データ端末装置 (Data Terminal Equipment) (DTE) に使う Data Set Ready または Data Terminal Ready ハンドシェイク ルーチンを記述するときに役立ちます。

データ型

整数型 (ブール型)


DSRTimeout プロパティ (コミュニケーション コントロール)

CommEvent プロパティを DSRTO に設定して OnComm イベントが発生する前に、Data Set Ready (DSR) 信号を待つミリ秒数を設定します。値の取得も可能です。

構文

[form.]MSComm.DSRTimeout[ = milliseconds&]

解説

注   このプロパティは、32 ビット版のコミュニケーション コントロール (MSCOMM32.OCX) ではサポートされません。

Data Set Ready ラインがオン (DSRHolding プロパティが真 (True)) のときに、DSRTimeout プロパティで指定したミリ秒数が経過すると、コミュニケーション コントロールによって CommEvent プロパティが comDSRTO (Data Set Ready Timeout) に設定され、OnComm イベントが発生します。

このプロパティは、DTE マシンに使う Data Set Ready ハンドシェイク ルーチンまたは Data Terminal Ready ハンドシェイク ルーチンを記述するときに役立ちます。

DSRHolding プロパティを使うと、Data Set Ready ラインを手動でポーリングすることができます。詳細については、「DSRHolding プロパティ」を参照してください。

データ型

長整数型 (Long)


DTREnable プロパティ (コミュニケーション コントロール)

通信中に Data Terminal Ready (DTR) ラインを有効にするかどうかを決定します。一般に、Data Terminal Ready 信号は、コンピュータが着信する伝送を受け入れる準備ができていることを示すために、コンピュータからそのモデムに送信されます。

構文

[form.]MSComm.DTREnable[ = {True | False}]

解説

DTREnable プロパティの設定値は次のとおりです。

設定値	内容

True	Data Terminal Ready ラインを有効にします。

False	(既定値) Data Terminal Ready ラインを無効にします。

DTREnable プロパティを真 (True) に設定すると、Data Terminal Ready ラインはポートを開くときにオンに設定され、ポートを閉じるときにオフに設定されます。DTREnable プロパティを偽 (False) に設定すると、Data Terminal Ready は常にオフになります。

注   通常、Data Terminal Ready ラインをオフに設定して、電話を切ります。

データ型

整数型 (ブール型)


Handshaking プロパティ (コミュニケーション コントロール)

ハードウェアのハンドシェイク プロトコルを設定します。値の取得も可能です。

構文

[form.]MSComm.Handshaking[ = protocol%]

解説

ハンドシェイクとは、データをハードウェア ポートから受信バッファに転送するときに使われる内部通信プロトコルを指します。1 文字のデータがシリアル ポートに到着すると、通信デバイスはそれをプログラムで読み取れるように受信バッファに移動する必要があります。受信バッファがなく、プログラムがハードウェアからすべての文字を直接読み取るようにする場合は、文字がきわめて高速で到着するので、データが失われる可能性があります。

ハンドシェイク プロトコルを使うと、バッファのオーバーランによってデータが失われることはありません。バッファがオーバーランすると、データのポートへの到着が速すぎて、通信デバイスはそのデータを受信バッファに移動できません。

Handshaking プロパティの設定値は次のとおりです。

設定値	値	内容

comNone	0	(既定値) ハンドシェイクなし。

comXOnXOff	1	XON/XOFF ハンドシェイク。

comRTS	2	RTS/CTS (Request To Send または Clear To Send) ハンドシェイク。

comRTSXOnXOff	3	Request To Send および XON/XOFF ハンドシェイク。

データ型

整数型 (Integer)


InBufferCount プロパティ (コミュニケーション コントロール)

受信バッファ内で待機中の文字数を取得します。このプロパティは、デザイン時には使えません。

構文

[form.]MSComm.InBufferCount[ = count%]

解説

InBufferCount プロパティは、モデムに受信され、受信バッファ内で取り出されるのを待っている文字数を参照します。InBufferCount プロパティを 0 に設定すると、受信バッファをクリアすることができます。

注   このプロパティを InBufferSize プロパティと混同しないでください。InBufferSize プロパティは、受信バッファの合計サイズを参照します。

データ型

整数型 (Integer)


InBufferSize プロパティ (コミュニケーション コントロール)

受信バッファのバイト数を設定します。値の取得も可能です。

構文

[form.]MSComm.InBufferSize[ = numBytes%]

解説

InBufferSize プロパティは、受信バッファの合計サイズを参照します。既定のサイズは 1,024 バイトです。このプロパティを InBufferCount プロパティと混同しないでください。InBufferCount プロパティは、受信バッファ内で現在待機中の文字数を取得します。

注   受信バッファを大きくすると、アプリケーションで利用できるメモリが少なくなるので注意してください。ただし、バッファが小さすぎると、ハンドシェイクを使用しなければ、オーバーフローが発生する可能性があります。初めはバッファ サイズを 1,024 バイトに設定してください。オーバーフロー エラーが発生したら、アプリケーションの伝送速度に合わせてバッファ サイズを大きくしてください。

データ型

整数型 (Integer)


Input プロパティ (コミュニケーション コントロール)

例

受信バッファから文字列を取得して削除します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MSComm.Input

解説

InputLen プロパティを使って、Input プロパティによって読み取られる文字数を決定します。InputLen プロパティを 0 に設定すると、Input プロパティによって受信バッファの内容全体が読み取られます。

データ型

文字列型 (String)


Input プロパティの例 (コミュニケーション コントロール)

次のプログラムは、受信バッファからデータを取得する方法を示しています。

' 利用可能なデータをすべて取り出します。

Comm1.InputLen = 0

' データをチェックします。

If Comm1.InBufferCount Then

' データを読み取ります。

InString$ = Comm1.Input

End If


InputLen プロパティ (コミュニケーション コントロール)

例

Input プロパティによって受信バッファから読み取る文字数を設定します。値の取得も可能です。

構文

[form.]MSComm.InputLen[ = numChars%]

解説

InputLen プロパティの既定値は 0 です。InputLen プロパティを 0 に設定すると、Input プロパティを使うときに、コミュニケーション コントロールによって受信バッファの内容全体が読み取られます。

InputLen プロパティで指定した文字数を受信バッファ内で利用できなければ、Input プロパティは長さ 0 の文字列 ("") を返します。Input プロパティを使う前に InBufferCount プロパティを任意にチェックして、必要な文字数が存在するかどうかを判別することができます。

このプロパティは、固定長データ ブロック形式でデータを出力するマシンからデータを読み取るときに役立ちます。

データ型

整数型 (Integer)


InputLen プロパティの例 (コミュニケーション コントロール)

次のプログラムは、10 文字のデータを読み取る方法を示しています。

' 10 文字のデータ ブロックを指定します。

Comm1.InputLen = 10

' データを読み取ります。

CommData$ = Comm1.Input


Interval プロパティ (コミュニケーション コントロール)

Microsoft Windows Version 3.0 でデータ用のハードウェア ポートをポーリングする間隔を、ミリ秒単位で設定します。

構文

[form.]MSComm.Interval[ = milliseconds&]

解説

Interval プロパティの既定値は 1,000 (1 秒) です。

Windows Version 3.0 で実行するアプリケーションについてのみ、コミュニケーション コントロールは与えられた間隔でデータ用のハードウェア ポートを手動でポーリングする必要があるので、このプロパティを設定する必要があります。ただし、Windows Version 3.1 では、この処理は不要なので Interval プロパティを使う必要はありません。

データ型

長整数型 (Long)


NullDiscard プロパティ (コミュニケーション コントロール)

ポートから受信バッファに Null 文字が転送されるかどうかを決定します。

構文

[form.]MSComm.NullDiscard[ = {True | False}]

解説

NullDiscard プロパティの設定値は次のとおりです。

設定値	内容

True	Null 文字はポートから受信バッファに転送されません。

False	(既定値) Null 文字がポートから受信バッファに転送されます。

Null 文字は、ASCII 文字 0、Chr$(0) として定義されます。

データ型

整数型 (ブール型)


OutBufferCount プロパティ (コミュニケーション コントロール)

伝送バッファ内で待機中の文字数を取得します。また、このプロパティを使って、伝送バッファを消去することもできます。このプロパティは、デザイン時には使えません。

構文

[form.]MSComm.OutBufferCount[ = 0]

解説

OutBufferCount プロパティを 0 に設定すると、伝送バッファをクリアすることができます。

注   OutBufferCount プロパティを OutBufferSize プロパティと混同しないでください。OutBufferSize プロパティは、伝送バッファの合計サイズを参照します。

データ型

整数型 (Integer)


OutBufferSize プロパティ (コミュニケーション コントロール)

伝送バッファの文字数を設定します。値の取得も可能です。

構文

[form.]MSComm.OutBufferSize[ = NumBytes%]

解説

OutBufferSize プロパティは、伝送バッファの合計サイズを参照します。既定のサイズは 512 バイトです。このプロパティを OutBufferCount プロパティと混同しないでください。OutBufferCount プロパティは、伝送バッファ内で現在待機中のバイト数を取得します。

注   伝送バッファを大きくすると、アプリケーションに利用できるメモリが少なくなります。ただし、バッファが小さすぎると、ハンドシェイクを使わなければオーバーフローが発生する可能性があります。まず、バッファ サイズを 512 バイトに設定し、オーバーフロー エラーが発生したら、アプリケーションの伝送速度に合わせてバッファ サイズを大きくしてください。

データ型

整数型 (Integer)


Output プロパティ (コミュニケーション コントロール)

例

伝送バッファに文字列を書き込みます。このプロパティは、デザイン時には使えません。

構文

[form.]MSComm.Output[ = outString$]

データ型

文字列型 (String)


Output プロパティの例、コミュニケーション コントロール

次のプログラムでは、入力するすべての文字をシリアル ポートに送信する方法を示しています。

Private Sub Form_KeyPress (KeyAscii As Integer)

Comm1.Output = Chr$(KeyAscii)

End Sub


ParityReplace プロパティ (コミュニケーション コントロール)

パリティ エラーが発生したときに、データ ストリーム内の無効な文字と置き換える文字を設定します。値の取得も可能です。

構文

[form.]MSComm.ParityReplace[ = char$]

解説

“パリティ ビット”は、単純なエラーのチェックのために、指定した数のビット データと共に伝送されるビットを指します。パリティ ビットを使うと、コミュニケーション コントロールによってデータ内で設定されている (値が 1 の) すべてのビットが加算され、その和が偶数であるか奇数であるかが、ポートを開いたときに使ったパリティ設定に従ってテストされます。

特に設定を変更しない限り、コントロールでは無効な文字と置き換えるために疑問符 (?) が使われます。ParityReplace プロパティを空の文字列 ("") に設定すると、パリティ チェック機能が無効になります。

データ型

文字列型 (String)


PortOpen プロパティ (コミュニケーション コントロール)

例

通信ポートの状態 (開または閉) を設定します。値の取得も可能です。このプロパティは、デザイン時には使えません。

構文

[form.]MSComm.PortOpen[ = {True | False}]

解説

PortOpen プロパティの設定値は次のとおりです。

設定値	内容

True	ポートは開いています。

False	ポートは閉じています。

PortOpen プロパティを真 (True) に設定すると、ポートが開きます。偽 (False) に設定すると、ポートが閉じて受信バッファと伝送バッファがクリアされます。アプリケーションを終了すると、コミュニケーション コントロールによってシリアル ポートが自動的に閉じられます。

ポートを開く前に、CommPort プロパティが有効なポート番号に設定されているかどうかを確かめてください。ポートを開くときに、CommPort プロパティが無効なポート番号に設定されていると、コミュニケーション コントロールによってエラー 68 (Device unavailable) が発生します。

また、シリアル ポートでは Settings プロパティがサポートされる必要があります。Settings プロパティに、ハードウェアでサポートされない通信設定値が入っていると、ハードウェアが正常に機能しないことがあります。

ポートを開く前に DTREnable プロパティまたは RTSEnable プロパティを真 (True) に設定すると、そのポートを閉じるときに、この 2 つのプロパティが偽 (False) に設定されます。それ以外の場合、DTR ラインと RTS ラインは以前の状態から変化しません。

データ型

整数型 (ブール型)


PortOpen プロパティの例 (コミュニケーション コントロール)

次のプログラムでは、番号 1 の通信ポートを 2400bps、パリティ チェックなし、8 データ長、および 1 ストップ ビットで開きます。

Comm1.Settings = "2400,n,8,1"

Comm1.CommPort = 1

Comm1.PortOpen = True


RThreshold プロパティ (コミュニケーション コントロール)

コミュニケーション コントロールによって CommEvent プロパティが comEvReceive に設定され、OnComm イベントが発生する前に受信する文字数を設定します。値の取得も可能です。

構文

[form.]MSComm.RThreshold[ = numChars%]

解説

RThreshold プロパティを 0 (既定値) に設定すると、文字を受信したときに OnComm イベントが生成されなくなります。

たとえば、RThreshold プロパティを 1 に設定すると、受信バッファに 1 文字が格納されるたびに、コミュニケーション コントロールによって OnComm イベントが発生します。

データ型

整数型 (Integer)


RTSEnable プロパティ (コミュニケーション コントロール)

Request To Send (RTS) ラインを有効にするかどうかを決定します。一般に、データの伝送許可を要求する Request To Send 信号は、コンピュータからその接続先モデムに送信されます。

構文

[form.]MSComm.RTSEnable[ = {True | False}]

解説

RTSEnable プロパティの設定値は次のとおりです。

設定値	内容

True	Request To Send ラインを有効にします。

False	(既定値) Request To Send ラインを無効にします。

RTSEnable プロパティを真 (True) に設定すると、Request To Send ラインはポートを開くときにオンに設定され、ポートを閉じるときにオフに設定されます。

Request To Send ラインは、RTS/CTS ハードウェア ハンドシェイクに使われます。RTSEnable プロパティを使うと、Request To Send ラインの状態を判別したいときに、この回線を手動でポーリングすることができます。

ハンドシェイク プロトコルの詳細については、「Handshaking プロパティ」を参照してください。

データ型

整数型 (ブール型)


Settings プロパティ (コミュニケーション コントロール)

例

通信速度、パリティ、データ長、およびストップ ビットのパラメータを設定します。値の取得も可能です。

構文

[form.]MSComm.Settings[ = paramString$]

解説

ポートが開いているときに引数 paramString$ の設定値が有効でなければ、コミュニケーション コントロールによってエラー 380 (Invalid property value) が発生します。

引数 ParamString$ は、4 つの設定値で構成され、次のような形式で記述されます。

"BBBB,P,D,S"

この場合、BBBB は通信速度、P はパリティ、D はデータ長、S はストップ ビット数です。引数 paramString$ の既定値は次のとおりです。

"9600,N,8,1"

通信速度の設定値は次のとおりです。

設定値

110

300

600

1200

2400

9600	(既定値)

14400

19200

38400	(予約済みの値)

56000	(予約済みの値)

128000	(予約済みの値)

256000	(予約済みの値)

パリティの設定値は次のとおりです。

設定値	内容

E	偶数

M	マーク

N	(既定値) なし

O	奇数

S	スペース

データ長の設定値は次のとおりです。

設定値

4

5

6

7

8	(既定値)

ストップ ビットの設定値は次のとおりです。

設定値

1	(既定値)

1.5

2

データ型

文字列型 (String)


Settings プロパティの例 (コミュニケーション コントロール)

次のプログラムでは、コントロールのポートを、2400bps、パリティ チェックなし、8 データ長、1 ストップ ビットで通信するように設定します。

Comm1.Settings = "2400,N,8,1"


SThreshold プロパティ (コミュニケーション コントロール)

コミュニケーション コントロールによって CommEvent プロパティが comEvSend に設定され、OnComm イベントが発生する前に、伝送バッファ内で待機させることができる最小文字数を設定します。値の取得も可能です。

構文

[form.]MSComm.SThreshold[ = numChars%]

解説

SThreshold プロパティを 0 (既定値) に設定すると、データ伝送イベントに対して OnComm イベントが発生します。SThreshold プロパティを 1 に設定すると、伝送バッファが完全に空になったときに、コミュニケーション コントロールによって OnComm イベントが発生します。

伝送バッファ内の文字数が引数 numChars% よりも小さければ、CommEvent プロパティは comEvSend に設定され、OnComm イベントが発生します。comEvSend イベントは、文字数が SThreshold を超えたときに 1 度だけ発生します。たとえば、SThreshold プロパティの設定値が 5 であれば、出力待ち行列内の文字数が 5 から 4 に減少したときにだけ、comEvSend が指すイベントが発生します。出力待ち行列内の文字数が SThreshold プロパティで指定した文字数を超えなければ、このイベントは発生しません。

データ型

整数型 (Integer)


OnComm イベント (コミュニケーション コントロール)

例

CommEvent プロパティの値が変化すると、OnComm イベントが発生し、通信イベントまたはエラーが発生したことを示します。

構文

Private Sub MSComm_OnComm ()

解説

CommEvent プロパティには、OnComm イベントを発生させた実際のエラーまたはイベントの数値コードが入っています。RThreshold プロパティまたは SThreshold プロパティを 0 に設定すると、それぞれ comEvReceive が指すイベントと comEvSend が指すイベントがトラップされなくなるので注意してください。


OnComm イベントの例 (コミュニケーション コントロール)

次のプログラムでは、通信エラーとイベントを処理する方法を示しています。特定のエラーまたはイベントの Case ステートメントの後に、そのエラーまたはイベントを処理するコードを挿入することができます。

Private Sub Comm_OnComm ()

Select Case Comm1.CommEvent

' エラー

Case comBreak	' Break が受信されました。

' BREAK を処理するコードが入ります。

Case comCDTO	' CD (RLSD) タイムアウト。

Case comCTSTO	' CTS タイムアウト。

Case comDSRTO	' DSR タイムアウト。

Case comFrame	' フレーム エラー。

Case comOverrun	' データが失われました。

Case comRxOver	' 受信バッファのオーバーフローが発生しました。

Case comRxParity	' パリティ エラー。

Case comTxFull	' 伝送バッファがいっぱいです。

' イベント

Case comEvCD	' CD ライン内の変化。

Case comEvCTS	' CTS ライン内の変化。

Case comEvDSR	' DSR ライン内の変化。

Case comEvRing	' リング インジケータ内の変化。

Case comEvReceive	' RThreshold で指定された文字数を受信しました。

Case comEvSend	' 伝送バッファには、SThreshold プロパティで

' 指定した数の文字が入っています。

End Select

End Sub


ComInput 関数 (コミュニケーション コントロール)

受信バッファから文字列を取得して削除します。

構文

ComInput(ByVal hWnd As Integer, lpData As Any, ByVal cbData As Integer) As Integer

引数	型	内容

hWnd	HWND	コントロールのウィンドウ ハンドル。

lpData	LPSTR	データ バッファの先頭を指す長整数型 (Long) ポインタ。

cbData	int	lpData のバイト数。

解説

この関数は、Input プロパティと同等です。

Microsoft Visual Basic Version 1.0 では、Input プロパティと Output プロパティは HSZ (終端が Null の文字列) 型として定義されています。つまり、アプリケーションが埋め込み Null 文字を含む文字列を受信バッファから取得しようとすると、取得される文字列は埋め込み Null 文字の位置で切り捨てられます。ComInput 関数を使うと、Null 文字が埋め込まれている文字列を受信バッファから取得することができます。

戻り値

受信されたバイト数。


ComOutput 関数 (コミュニケーション コントロール)

伝送バッファに文字列を書き込みます。

構文

ComOutput(ByVal hWnd As Integer, lpData As Any, ByVal cbData As Integer) As Integer

引数	型	内容

hWnd	HWND	コントロールのウィンドウ ハンドル。

lpData	LPSTR	データ バッファの先頭を指す長整数型 (Long) ポインタ。

cbData	int	引数 lpData のバイト数。

解説

この関数は、Output プロパティと同等です。

Microsoft Visual Basic Version 1.0 では、Input プロパティと Output プロパティは、HSZ (終端が Null の文字列) 型として定義されています。つまり、アプリケーションが埋め込み Null 文字を含む文字列を伝送バッファに送信しようとすると、送信される文字列は埋め込み Null 文字の位置で切り捨てられます。ComOutput 関数を使うと、Null 文字が埋め込まれている文字列を伝送バッファに送信することができます。

戻り値

送信されるバイト数。


 ゲージ コントロール

プロパティ	メソッド	イベント	定数

ゲージ コントロールは、用途に応じて線ゲージまたは針ゲージから選択して定義することができます。

ファイル名

GAUGE16.OCX、GAUGE32.OCX

クラス名

Gauge

解説

ゲージ コントロールは、温度計、燃料計、作業の進行状況を示すインジケータなどのアナログの種類のゲージを作成できます。

注   デザイン時に、ビットマップまたはアイコンをゲージ コントロールの Picture プロパティに指定したときは、ビットマップはフォームの一部になります。したがって、ビットマップまたはアイコンを個別に配布する必要はありません。ただし、実行時に LoadPicture 関数を使用してビットマップまたはアイコンを追加するときは、実行時にそれらのファイルが必要になります。

表示されるゲージの種類は Style プロパティで指定します。Style プロパティの既定値は 0、つまり水平な線ゲージです。

ゲージ コントロールの表示領域は、InnerTop プロパティ、InnerLeft プロパティ、InnerBottom プロパティ、および InnerRight プロパティで指定します。これらのプロパティの既定値で指定される表示領域は、ゲージ コントロールのほとんどの部分を含みます。したがって、ゲージ コントロールにビットマップを指定しても、そのビットマップの端の部分しか表示されません。ビットマップを表示するには、Style プロパティに 2 (半円の針ゲージ) または 3 (全円の針ゲージ) を設定するか、あるいはゲージ コントロールを表示する領域の大きさを変更します。

Style プロパティに 0 または 1、つまり線ゲージを設定すると、BackColor プロパティおよび ForeColor プロパティで表示領域の色を指定できます。指定した色で表示領域をどのように塗りつぶすかは、Min プロパティ、Max プロパティ、および Value プロパティで指定します。たとえば、Min プロパティに 0、Max プロパティに 100、そして Value プロパティに 25 をそれぞれ設定した場合、表示領域の 25% が ForeColor プロパティ、75% が BackColor プロパティで表示されます。

配布時の注意   ゲージ コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

ゲージ コントロールのプロパティは次のとおりです。アスタリスク (*) は、ゲージ コントロールにのみ適用されるプロパティ、またはゲージ コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

AutoSize	Index	MousePointer	Tag
*BackColor	*InnerBottom	Name	Top
Container	*InnerLeft	*NeedleWidth	*Value
DragIcon	*InnerRight	Object	Visible
DragMode	*InnerTop	Parent	WhatsThisHelpID
Enabled	Left	*Picture	*Width
*ForeColor	*Max	*Style	hWnd
*Height	*Min	TabIndex
HelpContextID	MouseIcon	TabStop
ゲージ コントロールでは、既定プロパティは Value プロパティです。

注   Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

ゲージ コントロールのイベントは次のとおりです。アスタリスク (*) は、ゲージ コントロールにのみ適用されるイベント、またはゲージ コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*Change	DragOver	KeyUp	MouseUp
Click	GotFocus	LostFocus
DblClick	KeyDown	MouseDown
DragDrop	KeyPress	MouseMove


メソッド

ゲージ コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ZOrder
Move	SetFocus	ShowWhatsThis


BackColor プロパティ (ゲージ コントロール)

InnerTop、InnerLeft、InnerBottom、および InnerRight の各プロパティで指定された範囲を消去する色を設定します。値の取得も可能です。

構文

[form.]Gauge.BackColor[ = color&]

解説

Style プロパティを 2 (半円の針ゲージ) または 3 (全円の針ゲージ) に設定し、ゲージ コントロールの Picture プロパティをビットマップに指定すると、BackColor プロパティの設定は無効になります。

データ型

長整数型 (Long)


ForeColor プロパティ (ゲージ コントロール)

InnerTop、InnerLeft、InnerBottom、および InnerRight の各プロパティで指定された範囲を塗りつぶす色を設定します。

構文

[form.]Gauge.ForeColor[ = color&]

解説

このプロパティは、線ゲージ (Style プロパティを 0 または 1 に設定しているとき) にのみ有効です。

データ型

長整数型 (Long)


Height、Width プロパティ (ゲージ コントロール)

ゲージ コントロールの高さと幅を設定します。

構文

[form.]Gauge.Height[ = setting%]
[form.]Gauge.Width[ = setting%]

解説

ゲージ コントロールの大きさを変更するには、AutoSize プロパティを偽 (False) に設定する必要があります。

データ型

整数型 (Integer)


InnerBottom プロパティ (ゲージ コントロール)

インジケータを表示する領域 (線ゲージの場合)、または針を表示する領域 (針ゲージの場合) のコントロールの下端からの距離を設定します。

構文

[form.]Gauge.InnerBottom[ = pixels%]

解説

InnerBottom プロパティは、表示領域の下端からゲージ コントロールの下端までの距離をピクセル単位で指定します。1 以上の値を指定する必要があります。

針ゲージの場合は表示領域内で針を移動させますが、線ゲージの場合は表示領域の相当する部分を端から塗りつぶします。

データ型

整数型 (Integer)


InnerLeft プロパティ (ゲージ コントロール)

インジケータを表示する領域 (線ゲージの場合)、または針を表示する領域 (針ゲージの場合) のコントロールの左端からの距離を設定します。

構文

[form.]Gauge.InnerLeft[ = pixels%]

解説

InnerLeft プロパティは、表示領域の左端からゲージ コントロールの左端までの距離をピクセル単位で指定します。1 以上の値を指定する必要があります。

針ゲージの場合は表示領域内で針を移動させますが、線ゲージの場合は表示領域の相当する部分を端から塗りつぶします。

データ型

整数型 (Integer)


InnerRight プロパティ (ゲージ コントロール)

インジケータを表示する領域 (線ゲージの場合)、または針を表示する領域 (針ゲージの場合) のコントロールの右端からの距離を設定します。

構文

[form.]Gauge.InnerRight[ = pixels%]

解説

InnerRight プロパティは、表示領域の右端からゲージ コントロールの右端までの距離をピクセル単位で指定します。1 以上の値を指定する必要があります。

針ゲージの場合は表示領域内で針を移動させますが、線ゲージの場合は表示領域の相当する部分を端から塗りつぶします。

データ型

整数型 (Integer)


InnerTop プロパティ (ゲージ コントロール)

インジケータを表示する領域 (線ゲージの場合)、または針を表示する領域 (針ゲージの場合) のコントロールの上端からの距離を設定します。

構文

[form.]Gauge.InnerTop[ = pixels%]

解説

InnerTop プロパティは、表示領域の上端からゲージ コントロールの上端までの距離をピクセル単位で指定します。1 以上の値を指定する必要があります。

針ゲージの場合は表示領域内で針を移動させますが、線ゲージの場合は表示領域の相当する部分を端から塗りつぶします。

データ型

整数型 (Integer)


Max プロパティ (ゲージ コントロール)

0 ～ 32,767 の範囲の整数で、Value プロパティに設定できる最大値を設定します。値の取得も可能です。既定値は 100 です。

構文

[form.]Gauge.Max[ = setting%]

解説

Value プロパティに Max プロパティで設定する値よりも大きな値を指定すると、Value プロパティに Max プロパティと同じ値が設定されます。

データ型

整数型 (Integer)


Min プロパティ (ゲージ コントロール)

0 ～ 32,767 の範囲の整数で、Value プロパティに設定できる最小値を設定します。値の取得も可能です。既定値は 0 です。

構文

[form.]Gauge.Min[ = setting%]

解説

Value プロパティに Min プロパティで設定する値よりも小さな値を指定すると、Value プロパティに Min プロパティと同じ値が設定されます。

データ型

整数型 (Integer)


NeedleWidth プロパティ (ゲージ コントロール)

針ゲージの指針の幅をピクセル単位で設定します。値の取得も可能です。指定できる値は、0 ～ 32,767 の範囲の整数です。

構文

[form.]Gauge.NeedleWidth[ = width%]

データ型

整数型 (Integer)


Picture プロパティ (ゲージ コントロール)

ゲージ コントロールの背景として表示するビットマップを指定します。

構文

[form.]Gauge.Picture[ = picture]

解説

Picture プロパティの設定値は次のとおりです。

設定値	内容

(なし)	(既定値) ビットマップを表示しません。

(ビットマップ)	ゲージの背景として表示するピクチャを指定します。デザイン時にはプロパティ ウィンドウで表示するピクチャを指定できます。

ゲージ コントロール用のビットマップが Visual Basic のディレクトリの下の \BITMAPS\GAUGE ディレクトリにいくつか用意されています。ピクチャを正常に表示するには、ゲージ コントロールに適したビットマップを選択してください。

注   ゲージ コントロールでは、ビットマップ形式 (.BMP) およびアイコン形式 (.ICO) のファイルを背景として表示できます。

デザイン時に、表示するピクチャをプロパティ ウィンドウで指定できます。Picture プロパティをデザイン時に設定すると、グラフィックスはフォームと共に保存およびロードが行われます。作成した実行可能ファイル (.EXE) にそのイメージが含まれます。

実行時には、LoadPicture 関数を使用してビットマップまたはアイコンを Picture プロパティに指定できます。また、ClipBoard オブジェクトに関連するメソッド (GetData、SetData、および GetFormat など) で、オブジェクト ブラウザのオブジェクト ライブラリに表示されている定数 vbCFBitmap および定数 vbCFDIB を使用して、クリップボード上のピクチャを扱うこともできます。実行時にグラフィックスをロードする場合、グラフィックスはアプリケーションには保存されません。グラフィックスをフォームやピクチャ ボックス (PictureBox) コントロールからファイルに保存するには、SavePicture ステートメントを使用します。

注   実行時には、ゲージ コントロールの Picture プロパティの値を他のオブジェクトの Picture プロパティまたは Image プロパティに設定するか、あるいは LoadPicture 関数の戻り値を Picture プロパティに割り当てます。ゲージ コントロールの Picture プロパティは直接設定する必要があります。

データ型

整数型 (Integer)


Style プロパティ (ゲージ コントロール)

ゲージの種類を設定します。

構s文

[form.]Gauge.Style[ = setting%]

解説

Style プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Horizontal Bar (水平な線ゲージ)

1	Vertical Bar (垂直な線ゲージ)

2	'Semi' Needle (半円の針ゲージ)

3	'Full' Needle (全円の針ゲージ)

半円の針ゲージの場合には、針の中心は Innerportion プロパティで設定した範囲の下端中央に配置されます。針の長さは計算され、設定した範囲の外に針が出ることはありません。針は、Value プロパティの値が Min プロパティの値と同じときには左 90 度に、Value プロパティの値と Max プロパティの値が同じときには右 90 度に、そして Value プロパティの値が Min プロパティの値と Max プロパティの値をたして 2 で割った値のときには垂直に表示されます。

全円の針ゲージの場合には、針の中心は Innerportion プロパティで設定した範囲の中央に配置されます。針の長さは計算され、設定した範囲の外に針が出ることはありません。針は、Value プロパティの値と Min プロパティの値が同じとき、または Value プロパティの値と Max プロパティの値が同じときには左 90 度に表示されます。Value プロパティの値が Min プロパティと Max プロパティの間のときには、時計回りに移動されて適切な位置に表示されます。

データ型

整数型 (列挙型)


Value プロパティ (ゲージ コントロール)

ゲージの現在の位置を設定します。詳細については、「Style プロパティ」を参照してください。

構文

[form.]Gauge.Value[ = setting%]

解説

Value プロパティに Min プロパティで設定した値よりも小さな値を指定すると、Value プロパティに Min プロパティの値が設定されます。また、Value プロパティに Max プロパティで設定した値よりも大きな値を指定すると、Value プロパティにも Max プロパティと同じ値が設定されます。

データ型

整数型 (Integer)


Change イベント (ゲージ コントロール)

Value プロパティの値が変化したときに発生します。

構文

Private Sub Gauge_Change ()


 グラフ コントロール

関連項目	プロパティ	メソッド	イベント	定数	エラー メッセージ

グラフ コントロールを使うと、フォームにグラフを作成できます。実行時には、新しいデータをグラフに送ってグラフを描画したり、プリンタへの出力、クリップボードへのコピー、グラフのスタイルまたは形の変更を行うことができます。

ファイル名

GRAPH16.OCX、GRAPH32.OCX

クラス名

Graph

解説

グラフ コントロールは、作成するアプリケーションと、グラフィック サーバー (グラフおよびチャート機能のライブラリ) とのリンク機能を提供します。

デザイン時には、グラフ コントロールは自動的に再描画されます。プロパティの設定を変更するたびにグラフが再描画されるので、変更結果を確認できます。グラフのデータは、実行時だけでなくデザイン時にも設定が可能です。実行時に新しいデータを入力したり、スタイル オプションの設定を行うと、デザイン時に設定した値と組み合わせて、新しいグラフが作成されます。

また、乱数データを使ってグラフを作成する機能があり、グラフがどのように表示されるかを簡単に確認できます。

配布時の注意   グラフ コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


関連項目

配列プロパティ

負のデータ値が意味を持たないグラフ


プロパティの種類と配列 (グラフ コントロール)

例

グラフ コントロールが持つ配列プロパティは次のとおりです。

プロパティ	設定する内容

GraphData	グラフに表示する値 (複数のデータ系列からなるグラフでは、2 次元配列)

ColorData	棒グラフの棒の色や円グラフのセグメントの色

ExtraData	その他のスタイル オプション (たとえば、円グラフでセグメントを切り出して表示するかどうかなど)

LabelText	ラベル

LegendText	凡例

PatternData	塗りつぶしパターンや線の種類

SymbolData	散布図や折れ線グラフの各データ項目を表すシンボル

XPosData	X の値

配列プロパティは ThisSet プロパティおよび ThisPoint プロパティによって制御されます。ThisSet プロパティは、GraphData プロパティで入力したデータのインデックスとして使用します。ThisPoint プロパティは、ThisSet プロパティで指定したデータ系列の個々のデータ項目を参照します。どちらのプロパティも最小値は 1 です。

たとえば、ThisSet プロパティに 1、ThisPoint プロパティに 5、LabelText  プロパティに“Friday”を設定すると、最初のデータ系列の 5 番めのラベルに“Friday”という文字列が挿入されます。

AutoInc プロパティを 1 (On) に設定すると、配列プロパティに値を入力するたびに、ThisPoint プロパティおよび ThisSet プロパティの値が自動的にインクリメントされます。

実行時に、コントロール配列の新しいインスタンスを動的に作成する場合、配列プロパティに関連するすべてのデータを指定し直します。

配列の次元は NumSets プロパティおよび NumPoints プロパティで設定します。ThisSet プロパティおよび ThisPoint プロパティは、それぞれ NumSets プロパティおよび NumPoints プロパティの値を超えることはできません。AutoInc プロパティは、ThisSet プロパティおよび ThisPoint プロパティの現在の値を監視します。また、NumSets プロパティおよび NumPoints プロパティはグラフの外観を指定します。たとえば、10 個のデータ項目を持つデータ系列を 3 つ作成する場合は、まず NumSets プロパティに 3、NumPoints プロパティに 10 を設定し、次に GraphData プロパティを設定します。

DataReset プロパティも配列プロパティの値を操作するプロパティの 1 つで、一部またはすべての配列プロパティの設定値を再設定するときに使います。


配列プロパティの例 (グラフ コントロール)

次の 5 つのデータ項目を含むグラフを作成するとします。デザイン時にデータの値を設定するには、AutoInc プロパティを 1 (On) に設定し、GraphData プロパティを選択して値を入力します。それぞれの値を入力するたびに Enter キーを押す必要があります。

10	Enter

9	Enter

8	Enter

7	Enter

6	Enter

ラベルや凡例など他の配列プロパティの値も同じ方法で設定します。

このデータの値を実行時に設定するには、次のようなコードを記述します。次の 2 通りの例では、デザイン時の設定方法と同様にプロパティの値を設定することができます。

' 例 1。

Graph1.AutoInc = 1

Graph1.GraphData = 10

Graph1.GraphData = 9

Graph1.GraphData = 8

Graph1.GraphData = 7

Graph1.GraphData = 6

Graph1.DrawMode = 2

' 例 2。

Graph1.AutoInc = 1

For I% = 1 To 5

Graph1.GraphData = 11 - i%

Next I%

Graph1.DrawMode = 2


グラフの種類および負のデータ値が意味を持たないグラフ (グラフ コントロール)

次のグラフでは、負のデータ値が意味を持ちません。

2D & 3D 円グラフ

積み上げ棒グラフ

ガント チャート

面グラフ

レーダー チャート

これらのグラフで負のデータ値を指定すると、符号が無視され、正の値として扱われます。ただし、実際の負のデータ値は保持されています。このとき、負のデータ値が意味を持つグラフに変更すると、元のデータが使われます。


プロパティ

グラフ コントロールのプロパティは次のとおりです。アスタリスク (*) は、グラフ コントロールにのみ適用されるプロパティ、またはグラフ コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*AutoInc	*Foreground	*LegendStyle	TabStop
*Background	*GraphCaption	*LegendText	Tag
BorderStyle	*GraphData	*LineStats	*ThickLines
*BottomTitle	*GraphStyle	Name	*ThisPoint
*ColorData	*GraphTitle	*NumPoints	*ThisSet
Container	*GraphType	*NumSets	*TickEvery
*CtlVersion	*GridStyle	Object	*Ticks
*DataReset	Height	*Palette	Top
DragIcon	HelpContextID	Parent	Visible
DragMode	hWnd	*PatternData	WhatsThisHelpID
*DrawMode	*ImageFile	*PatternedLines	Width
*DrawStyle	Index	*Picture	*XPosData
Enabled	*IndexStyle	*PrintStyle	*YAxisMax
*ExtraData	*LabelEvery	*QuickData	*YAxisMin
*FontFamily	*Labels	*RandomData	*YAxisPos
*FontSize	*Labels	*SeeThru	*YAxisStyle
*FontStyle	*LabelText	*SymbolData	*YAxisTicks
*FontUse	*LeftTitle	TabIndex
グラフ コントロールでは、既定プロパティは QuickData プロパティです。

注   Name プロパティは、Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

グラフ コントロールに適用されるイベントは次のとおりです。

Click	DragOver	KeyPress	MouseDown
DblClick	GotFocus	KeyUp	MouseMove
DragDrop	KeyDown	LostFocus	MouseUp


メソッド

グラフ コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	SetFocus	ShowWhatsThis
			ZOrder


AutoInc プロパティ (グラフ コントロール)

例

AutoInc プロパティを 1 (On) に設定すると、配列プロパティの値を設定したときに、ThisPoint プロパティの値が自動的にインクリメントされます。ThisPoint プロパティが最大値 (NumPoints プロパティの値) に達すると、ThisSet プロパティがインクリメントされて、ThisPoint プロパティは 1 に戻ります。ThisSet プロパティが最大値 (NumSets プロパティの値) に達すると、ThisSet プロパティは 1 に戻ります。

構文

[form.]Graph.AutoInc[ = setting%]

解説

AutoInc プロパティの設定値は次のとおりです。

設定値	内容

0	Off

1	(既定値) On

AutoInc プロパティを新しい値 (0 または 1) に設定すると、ThisPoint プロパティおよび ThisSet プロパティは 1 に初期化されます。

実行時に AutoInc プロパティを 1 (On) に設定している場合、データを入力する配列プロパティを切り替えると、ThisPoint プロパティおよび ThisSet プロパティは 1 に初期化されます。

AutoInc プロパティで ThisPoint プロパティおよび ThisSet プロパティの値がインクリメントされるのは、データの値を設定する場合だけです。実行時にデータの値を参照するときは、ThisPoint プロパティおよび ThisSet プロパティの値はインクリメントされません。

AutoInc プロパティは、すべての配列プロパティに対して有効です。

ColorData

ExtraData

GraphData

LabelText

LegendText

PatternData

SymbolData

XPosData

データ型

整数型 (Integer)


AutoInc プロパティの例 (グラフ コントロール)

Graph1.ThisSet = 1

For I% = 1 to Graph1.NumSets

Graph1.ThisPoint = 1

For J% = 1 to Graph1.NumPoints

Graph1.GraphData = J%*I%

If Graph1.ThisPoint < Graph1.NumPoints Then

Graph1.ThisPoint = Graph1.ThisPoint + 1

End If

Next J%

If Graph1.ThisSet < Graph1.NumSets Then

Graph1.ThisSet = Graph1.ThisSet + 1

End If

Next I%

Graph1.DrawMode = 2

このコードは、AutoInc プロパティを使用して次のように記述することもできます。

Graph1.AutoInc = 1

For I% = 1 To (Graph1.NumSets * Graph1.NumPoints)

Graph1.GraphData = Graph1.ThisPoint * Graph1.ThisSet

Next I%

Graph1.DrawMode = 2

Visual Basic では、ThisPoint プロパティまたは ThisSet プロパティをカウンタとして使用することはできません。


Background プロパティ (グラフ コントロール)

グラフの背景色を設定します。

構文

[form.]Graph.Background[ = color%]

解説

Background プロパティの設定値は次のとおりです。

設定値	内容

0	Black (黒)

1	Blue (濃い青)

2	Green (濃い緑)

3	Cyan (濃い水色)

4	Red (濃い赤)

5	Magenta (濃い紫)

6	Brown (濃い黄色)

7	Light gray (明るい灰色)

8	Dark gray (濃い灰色)

9	Light blue (青)

10	Light green (緑)

11	Light cyan (水色)

12	Light red (赤)

13	Light magenta (紫)

14	Yellow (黄)

15	(既定値) White (白)

このプロパティで背景色を変更すると、グラフの各コンポーネントの色が自動的に選択されます。コンポーネントの色は、Foreground プロパティと ColorData プロパティで直接設定することもできます。

データ型

整数型 (列挙型)


BottomTitle プロパティ (グラフ コントロール)

例

グラフの下へ水平軸に平行で表示されるタイトルを設定します。

構文

[form.]Graph.BottomTitle[ = string$]

解説

このプロパティは円グラフでは使用できません。

データ型

文字列型 (String)


BottomTitle プロパティの例 (グラフ コントロール)

次のプログラムでは、BottomTitle プロパティを設定していない場合にコマンド ボタンをクリックすると、グラフ (Graph1) の下に“Graph1”というタイトルが表示されます。BottomTitle プロパティを設定している場合にコマンド ボタンをクリックすると、タイトルは空白になります。このプログラムを実行するには、フォーム上にコマンド ボタン (CommandButton) コントロールとグラフ コントロールを配置し、フォームの宣言セクションに次のコードを貼り付けてください。

Private Sub Command1_Click ()

Graph1.RandomData = 1

If Graph1.BottomTitle = "" Then

Graph1.BottomTitle = "Graph1"

Else

Graph1.BottomTitle = ""

End If

Graph1.DrawMode = 2

End Sub


ColorData プロパティ (グラフ コントロール)

グラフ上の各データ系列の色を設定します。円グラフと、NumSets プロパティが 1 に設定されている棒グラフでは、各データ項目に色を指定する必要があります。

構文

[form.]Graph.ColorData[ = setting%]

解説

ColorData プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Black (黒)

1	Blue (濃い青)

2	Green (濃い緑)

3	Cyan (濃い水色)

4	Red (濃い赤)

5	Magenta (濃い紫)

6	Brown (濃い黄色)

7	Light gray (明るい灰色)

8	Dark gray (濃い灰色)

9	Light blue (青)

10	Light green (緑)

11	Light cyan (水色)

12	Light red (赤)

13	Light magenta (紫)

14	Yellow (黄)

15	White (白)

特定のデータの色を指定する場合は、他のすべてのデータの色を指定する必要があります。指定しない場合、そのデータ系列の色は黒になります。

このプロパティは 1 次元配列のプロパティで、配列の要素は ThisPoint プロパティの値によって決定されます。

データを設定する場合は、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

データ型

整数型 (列挙型)


CtlVersion プロパティ (グラフ コントロール)

グラフ コントロールのバージョンを示します。このプロパティは値の参照のみ可能です。

構文

[form.]Graph.CtlVersion

データ型

文字列型 (String)


DataReset プロパティ (グラフ コントロール)

グラフ コントロールの配列プロパティの設定値をリセットします。各プロパティの値は、すべて既定値になります。

構文

[form.]Graph.DataReset[ = setting%]

解説

DataReset プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) None

1	GraphData

2	ColorData

3	ExtraData

4	LabelText

5	LegendText

6	PatternData

7	SymbolData

8	XPosData

9	All Data

10	FontInfo

このプロパティを 9 (All Data) に設定すると、すべての配列プロパティの設定値がリセットされます。

配列をリセットすると、その配列は元の状態に戻ります。すべてのプロパティの値は各プロパティの既定値に設定されます。

データ型

整数型 (列挙型)


DrawMode プロパティ (グラフ コントロール)

グラフ コントロールの描画モードを設定します。

構文

[form.]Graph.DrawMode[ = mode%]

解説

グラフ コントロールに使う DrawMode プロパティの設定値は次のとおりです。

設定値	内容

0	No Action

1	Clear

2	(既定値) Draw

3	Blit

4	Copy

5	Print

6	Write

グラフがディスクに保存される場合は、DrawMode プロパティには 0 ～ 3 の値のどれかが設定されます。DrawMode プロパティの値は、デザイン時と実行時では同一です。4 (Copy)、5 (Print)、6 (Write) の各モードは、特定の動作を実行するために一時的に設定する値です。

デザイン時には、プロパティの設定値を変更すると、その変更内容を反映してグラフが自動的に再描画されます。実行時にグラフを再描画するには、DrawMode プロパティを 2 (Draw) または 3 (Blit) に再設定する必要があります。グラフを表示する前に変更したプロパティの設定は、表示されるグラフに反映されます。ただし、グラフを含むフォームが最初に表示される場合は、DrawMode プロパティの設定値に従ってグラフが自動的に表示されます。

設定値	内容

0	グラフは表示されません。

1	グラフは表示されませんが、グラフ コントロールの背景色は、Background プロパティで指定した色に設定されます。キャプションを指定している場合は、グラフ コントロールの中央に表示されます。

2	(既定値) デザイン時には、プロパティの設定を変更するたびに、グラフが再描画されます。実行時には、DrawMode プロパティを 2 に設定するたびに、グラフが再描画されます。

3	グラフ全体を再表示します。グラフィック サーバーがグラフを含むビットマップを作成し、このビットマップを Windows API の BitBlt 関数を使って表示します。このモードを使うと、新しいデータでグラフを更新するときに、グラフ全体をすばやく表示できます。

4	グラフ イメージをビットマップ形式 (.BMP) またはメタファイル形式 (.WMF) でクリップボードにコピーします。DrawMode プロパティが 3 (Blit) に設定されているときはビットマップ形式 (.BMP) になり、3 以外の値に設定されているときはメタファイル形式 (.WMF) になります。

5	グラフ イメージを高品質モードで印刷します。詳細については、「PrintStyleプロパティ」を参照してください。

6	グラフ イメージをビットマップ形式 (.BMP) またはメタファイル形式 (.WMF) でファイルに書き込みます。ただし、あらかじめ ImageFile プロパティでファイルの名前を指定する必要があります。DrawMode プロパティが 3 (Blit) に設定されているときはビットマップ形式 (.BMP) のファイルが作成され、3 以外の値に設定されているときはメタファイル形式 (.WMF) のファイルが作成されます。

データ型

整数型 (列挙型)


DrawStyle プロパティ (グラフ コントロール)

このプロパティを 0 (Monochrome) に設定すると、背景色は白に設定され、その他の色はすべて黒に設定されます。PatternData、SymbolData、および GraphStyle の各プロパティが設定されていない場合、グラフは DrawStyle プロパティの設定に従って、既定値 (塗りつぶしパターン) またはシンボルを使用して表示されます。

構文

[form.]Graph.DrawStyle[ = style%]

解説

グラフ コントロールに使う DrawStyle プロパティの設定値は次のとおりです。

設定値	内容

0	Monochrome

1	(既定値) Color

データ型

整数型 (列挙型)


ExtraData プロパティ (グラフ コントロール)

例

ExtraData プロパティを使用するには、次の 2 つの方法があります。

円グラフでは、セグメントを切り出して表示するかどうかを設定します。

3D 棒グラフでは、棒の側面の色を指定します。

構文

[form.]Graph.ExtraData[ = setting%]

解説

円グラフの ExtraData プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) セグメントを切り出して表示しません。

1	セグメントを切り出して表示します。

3D 棒グラフの ExtraData プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Black (黒)

1	Blue (濃い青)

2	Green (濃い緑)

3	Cyan (濃い水色)

4	Red (濃い赤)

5	Magenta (濃い紫)

6	Brown (濃い黄色)

7	Light gray (明るい灰色)

8	Dark gray (濃い灰色)

9	Light blue (青)

10	Light green (緑)

11	Light cyan (水色)

12	Light red (赤)

13	Light magenta (紫)

14	Yellow (黄)

15	White (白)

このプロパティは 1 次元配列のプロパティで、配列の要素は ThisPoint プロパティの値によって決定されます。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

データ型

整数型 (列挙型)


ExtraData プロパティの例 (グラフ コントロール)

次のプログラムでは、3D 円グラフの 2 つのセグメントを切り出して表示します。このプログラムを実行するには、フォーム上にグラフ コントロール (Graph1) を配置し、フォームの宣言セクションに次のコードを貼り付けてください。

Private Sub Form_Load ()

For I% = 1 to 4

Graph1.GraphData = I%

Next I%

ThisPoint = 2

Graph1.ExtraData = 1

ThisPoint = 4

Graph1.ExtraData = 1

Graph1.GraphType = 2

Graph1.DrawMode = 2

End Sub


FontFamily プロパティ (グラフ コントロール)

FontUse プロパティで指定されているテキストを表示するときに使うフォント ファミリを選択します。

構文

[form.]Graph.FontFamily[ = setting%]

解説

FontFamily プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Roman

1	Swiss

2	Modern

FontFamily プロパティでは、タイプ フェイスではなくフォント ファミリを指定します。それぞれのコンピュータで異なる利用可能なフォントを、すべて表示しないようにするためです。汎用タイプの Roman、Swiss、または Modern の各フォント ファミリは、Windows の設定にかかわらず常に利用できます。

データ型

整数型 (列挙型)


FontSize プロパティ (グラフ コントロール)

FontUse プロパティで指定されているテキストを表示するときに使うフォントのサイズを指定します。

構文

[form.]Graph.FontSize[ = setting%]

解説

このプロパティでは、50 ～ 500 の範囲の値を指定します。この値はシステム フォントのサイズに対するパーセンテージを表します。既定値は FontUse プロパティの設定によって異なります。

FontUse プロパティの設定	FontSize プロパティの既定値

0 (グラフ タイトル)	200%

1 (その他のタイトル)	150%

2 (ラベル)	100%

3 (凡例)	100%

テキストを表示できるスペースが狭いために、FontSize プロパティで指定したサイズのテキストを表示できないときは、そのスペースに合わせてサイズが自動的に調節されます。

データ型

整数型 (Integer)


FontStyle プロパティ (グラフ コントロール)

FontUse プロパティで指定されているテキストを表示するときに使うスタイルを指定します。

構文

[form.]Graph.FontStyle[ = setting%]

解説

グラフ コントロールに使う FontStyle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Defalt

1	Italic (斜体)

2	Bold (太字)

3	Bold italic (太字、斜体)

4	Underlined (下線)

5	Underlined italic (下線、斜体)

6	Underlined bold (下線、太字)

7	Underlined bold italic (下線、太字、斜体)

データ型

整数型 (列挙型)


FontUse プロパティ (グラフ コントロール)

FontFamily、FontSize、FontStyle の各プロパティで設定するときの対象となるグラフのテキストを指定します。

構文

[form.]Graph.FontUse[ = setting%]

解説

グラフ コントロールに使う FontUse プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Graph title (グラフ タイトル)

1	Other titles (その他のタイトル)

2	Labels (ラベル)

3	Legend (凡例)

4	All text (すべてのテキスト)

FontFamily、FontSize、FontStyle の各プロパティを使って、フォント ファミリ、フォント サイズ、フォント スタイルを設定するときは、FontUse プロパティを使って対象となるテキストを指定します。FontUse プロパティが 4 (All Text) のときは、すべてのテキストが設定の対象となります。たとえば、すべてのテキストにフォント ファミリが Swiss 、200% 拡大、および太字を設定します。次に FontUse プロパティを使用し、対象となる、たとえば凡例のテキストを指定してそのテキストだけを太字の下線に設定することができます。

注   デザイン時にプロパティ ウィンドウに表示される FontFamily、FontSize、FontStyle の各プロパティの値は、グラフ タイトルのフォントの設定を示します。

データ型

整数型 (列挙型)


Foreground プロパティ (グラフ コントロール)

タイトル、ラベル、凡例、軸の色を設定します。

構文

[form.]Graph.Foreground[ = setting%]

解説

グラフ コントロールに使う Foreground プロパティの設定値は次のとおりです。

設定値	内容

0	Black (黒)

1	Blue (濃い青)

2	Green (濃い緑)

3	Cyan (濃い水色)

4	Red (濃い赤)

5	Magenta (濃い紫)

6	Brown (濃い黄色)

7	Light gray (明るい灰色)

8	Dark gray (濃い灰色)

9	Light blue (青)

10	Light green (緑)

11	Light cyan (水色)

12	Light red (赤)

13	Light magenta (紫)

14	Yellow (黄)

15	White (白)

16	(既定値) Auto black/white

グラフ コントロール の Foreground プロパティの既定値は、Auto black/white です。この設定では、背景色と最も対照的な色が自動的に選択されます。

棒グラフの棒の色や円グラフのセグメントの色は、ColorData プロパティで設定します。

データ型

整数型 (列挙型)


GraphCaption プロパティ (グラフ コントロール)

例

DrawMode プロパティが 1 (Clear) のときに表示される 1 行のキャプション テキストを設定します。

構文

[form.]Graph.GraphCaption[ = caption$]

解説

GraphCaption プロパティで指定するテキストとその背景の色は、Foreground プロパティおよび Background プロパティで設定します。

データ型

文字列型 (String)


GraphCaption プロパティの例 (グラフ コントロール)

次の例では、グラフ (Graph1) のキャプションとして“Graphics Server”というテキストを表示します。

Graph1.GraphCaption = "Graphics Server"

Graph1.DrawMode = 1


GraphData プロパティ (グラフ コントロール)

例

グラフのデータの値を設定します。

構文

[form.]Graph.GraphData[ = data!]

解説

このプロパティは 2 次元配列で、ThisPoint プロパティおよび ThisSet プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに ThisPoint プロパティの値が自動的にインクリメントされます。最大値 (NumPoints プロパティ) に達すると、ThisSet プロパティがインクリメントされて、ThisPoint プロパティは 1 に戻ります。ThisSet プロパティが最大値 (NumSets プロパティ) に達すると、ThisSet プロパティは 1 に戻ります。

データ型

単精度浮動小数点数型 (Single)


プロパティの例 (グラフ コントロール)

次のプログラムでは、2D 棒グラフを作成します。このプログラムを実行するには、フォーム上にグラフ コントロールを配置し、NumSets プロパティおよび NumPoints プロパティに適切な値を設定して、次のコードをフォームの宣言セクションに貼り付けてください。

Private Sub Form_Load ()

Graph1.ThisSet = 1

For I% = 1 to Graph1.NumSets

Graph1.ThisPoint = 1

For J% = 1 to Graph1.NumPoints

Graph1.GraphData = J%*I%

If Graph1.ThisPoint < Graph1.NumPoints Then

Graph1.ThisPoint = Graph1.ThisPoint + 1

End If

Next J%

If Graph1.ThisSet < Graph1.NumSets Then

Graph1.ThisSet = Graph1.ThisSet + 1

End If

Next I%

Graph1.GraphType = 2

Graph1.DrawMode = 4

End Sub

前のプログラムを AutoInc プロパティを使って記述すると、次のとおりです。

Graph1.AutoInc = 1

For I% = 1 To (Graph1.NumSets * Graph1.NumPoints)

Graph1.GraphData = Graph1.ThisPoint * Graph1.ThisSet

Next I%

Graph1.GraphType = 2

Graph1.DrawMode = 4


GraphStyle プロパティ (グラフ コントロール)

グラフの種類に応じてスタイルを設定します。

構文

[form.]Graph.GraphStyle[ = type%]

解説

GraphStyle プロパティの設定値は次のとおりです。

グラフの種類	GraphStyle プロパティの設定値	注
2D & 3D 円グラフ	0 (既定値) 引き出し線付きラベル 1 引き出し線なしラベル 2 色の付いた引き出し線付きラベル 3 色の付いた引き出し線なしラベル 4 % 表示ラベル 5 引き出し線なし % 表示ラベル 6 色の付いた引き出し線付き % 表示ラベル 7 色の付いた引き出し線なし % 表示ラベル	LabelText プロパティを設定してあるときはその値がラベルとして表示されます。LabelText プロパティを設定していないときはデータの数値がラベルとして表示されます。
2D 棒グラフ	0 (既定値) 単純な縦棒グラフ 1 単純な横棒グラフ 2 積み上げ縦棒グラフ 3 積み上げ横棒グラフ 4 100% 表示の積み上げ縦棒グラフ 5 100% 表示の積み上げ横棒グラフ	1 つのデータ系列しかない棒グラフでは、各データ項目に色を指定します。NumSets プロパティの設定値が 1 の場合、つまり複数のデータ系列からなる棒グラフでは、各データ系列に色を指定します。
3D 棒グラフ	2D 棒グラフの設定値に加えて、次の値を指定できます。
	6 3 次元にプロットされた縦棒グラフ 7 3 次元にプロットされた横棒グラフ	3D 縦棒グラフでは、各データ系列で前後に重なって (次のデータが前方に) 表示されます。これによって、奥行きのあるグラフが作成されます。
ガント チャート	0 (既定値) 隣接する棒グラフ
	1 間隔のあいた棒グラフ	それぞれの棒の間にスペースが入ります。
折れ線グラフとレーダーチャート	0 (既定値) 折れ線のみ 1 シンボルのみ 2 降下 (中心) 線のみ 3 降下 (中心) 線とシンボル 4 折れ線のみ 5 折れ線とシンボル 6 折れ線と降下 (中心) 線 7 折れ線と降下 (中心) 線とシンボル	ThickLines プロパティまたは PatternedLines プロパティを1 (On) に設定すると、線の幅または線の種類のいずれかを設定できます。
面グラフ	0 (既定値) 単純な面グラフ
	1 絶対表示の面グラフ	この設定では、Y = 0 からの絶対値を表します (グラフの一部が隠れて表示されないこともあります)。
	2 100% 表示の面グラフ	このグラフは、合計に対するパーセンテージを表します。
散布図	0 (既定値) シンボルのみ	散布図では、XPosData プロパティを設定する必要があります。
高低グラフ	0 (既定値) 高値、安値、終値を表すグラフ 1 終値の目盛なし 2 高値、安値の目盛なし 3 目盛なし	ThickLines プロパティを使って、線の幅を設定できます。
データ型

整数型 (列挙型)


GraphTitle プロパティ (グラフ コントロール)

例

グラフの上に表示するタイトルを設定します。

構文

[form.]Graph.GraphTitle[ = title$]

解説

このプロパティで指定するタイトル文字列は 80 バイト以内に制限されています。長い文字列を指定すると、タイトルが表示されないことがあります。そのような場合は、グラフのサイズを大きくしてください。

データ型

文字列型 (String)


プロパティの例 (グラフ コントロール)
プロパティの例、グラフ コントロール

次のプログラムでは、GraphTitle プロパティが設定されていないときにコマンド ボタンをクリックすると、グラフ (Graph1) の上部に“Title”というタイトルが表示されます。GraphTitle プロパティが設定されているときにコマンド ボタンをクリックすると、タイトルは空白になります。このプログラムを実行するには、フォーム上にコマンド ボタンとグラフ コントロールを配置し、次のコードをフォームの宣言セクションに貼り付けてください。

Private Sub Command1_Click ()

Graph1.RandomData = 1

If Graph1.GraphTitle = "" Then

Graph1.GraphTitle = "Title"

Else

Graph1.GraphTitle = ""

End If

Graph1.DrawMode = 2

End Sub


GraphType プロパティ (グラフ コントロール)

グラフの種類を指定します。

構文

[form.]Graph.GraphType[ = setting%]

解説

GraphType プロパティの設定値は次のとおりです。

値	内容

0	None

1	2D pie (2D 円グラフ)

2	3D pie (3D 円グラフ)

3	(既定値) 2D bar (2D 棒グラフ)

4	3D bar (3D 棒グラフ)

5	Gantt (ガント チャート)

6	Line (折れ線グラフ)

7	Log/Lin (片対数折れ線グラフ)

8	Area (面グラフ)

9	Scatter (散布図)

10	Polar (レーダー チャート)

11	HLC (高低グラフ)

それぞれのグラフは、各種のスタイルを設定できます。詳細については「GraphStyle プロパティ」を参照してください。

データ型

整数型 (列挙型)


GridStyle プロパティ (グラフ コントロール)

グラフの目盛線を表示します。

構文

[form.]Graph.GridStyle[ = setting%]

解説

GridStyle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) None (目盛線なし)

1	Horizontal (水平軸上)

2	Vertical (垂直軸上)

3	Both (水平および垂直軸上)

レーダー チャートでは、1 (Horizontal) は同心円に、2 (Vertical) は放射軸に対応します。

データ型

整数型 (列挙型)


ImageFile プロパティ (グラフ コントロール)

DrawMode プロパティに 6 (Write) を設定して、グラフ イメージをファイル (ビットマップまたはメタファイル) に保存するときのファイル名を指定します。ファイルを現在選択しているディレクトリ以外に保存するときは、パス名も指定する必要があります。

構文

[form.]Graph.ImageFile[ = filename$]

解説

拡張子 (.BMP または .WMF) は自動的に追加されます。ただし、他の拡張子を指定しても自動的に置き換えられます。DrawMode プロパティを 3 (Blit) に設定しているときはビットマップが作成され、3 以外の値に設定されているときはメタファイルが作成されます。

注   このプロパティを使用して作成するビットマップは、16 色ビットマップになります。

データ型

文字列型 (String)


IndexStyle プロパティ (グラフ コントロール)

例 1	例 2

データ配列のインデックスとして使うプロパティを設定します。

構文

[form.]Graph.IndexStyle[ = setting%]

解説

IndexStyle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 1 次元配列を参照するときに、ThisPoint プロパティをインデックスとして使用します。

1	1 次元配列を参照するときに、配列プロパティの種類によってインデックスを使い分けます。

IndexStyle プロパティが 1 に設定されているとき、配列プロパティのインデックスとして使われるプロパティは次のとおりです。

配列プロパティ	インデックスとして使われるプロパティ

GraphData	ThisSet および ThisPoint (2 次元配列)

ColorData	ThisSet (または ThisPoint)

ExtraData	ThisSet (または ThisPoint)

LabelText	ThisPoint

LegendText	ThisSet (または ThisPoint)

PatternData	ThisSet (または ThisPoint)

SymbolData	ThisSet

XPosData	ThisSet および ThisPoint (2 次元配列)

円グラフまたは 1 つのデータ系列しかない棒グラフが選択されている場合、ThisPoint プロパティがインデックスとして使われますが、それ以外では、ThisSet プロパティがインデックスとして使われます。円グラフおよび 1 つのデータ系列しかない棒グラフで ThisPoint プロパティが使用されるのは、凡例を各データ系列ではなく各データ項目で表示するためです。

注   AutoInc プロパティを 1 (On) に設定すると、IndexStyle プロパティの設定にかかわらず ThisSet プロパティおよび ThisPoint プロパティの値がインクリメントされ、IndexStyle プロパティの設定値は無効になります。また、データを入力する配列プロパティを 1 度作成すると、グラフはIndexStyle プロパティの設定にかかわらず標準の方法で描画されます

データ型

整数型 (列挙型)


IndexStyle プロパティの例 1 (グラフ コントロール)

Graph1.GraphType = 6	' 折れ線グラフ。

Graph1.IndexStyle = 1	' ThisSet プロパティをインデックスとして指定します。

For i% = 1 To Graph1.NumSets

Graph1.ThisSet = i%

For j% = 1 To Graph1.NumPoints

Graph1.ThisPoint = j%

Graph1.GraphData = <データ>

Graph1.XPosData = <データ>

Next

Next

For i% = 1 to Graph1.NumSets

Graph1.ThisSet = i%	' ThisSet プロパティをインデックスとして指定します。

Graph1.LegendText = "Data set" + Str$(i%)

Graph1.ExtraData = <データ>

Graph1.ColorData = <データ>

Graph1.PatternData = <データ>

Graph1.SymbolData = <データ>

Next

For i% = 1 To Graph1.NumPoints

Graph1.ThisPoint = i%

Graph1.LabelText = "Data point" + Str$(i%)

Next

Graph1.DrawMode = 2


プロパティの例 2 (グラフ コントロール)
IndexStyle プロパティの例 2 (グラフ コントロール)

Graph1.GraphType = 6	' 折れ線グラフ。

Graph1.IndexStyle = 0	' ThisPoint プロパティをインデックスとして指定します。

For i% = 1 to Graph1.NumSets

Graph1.ThisSet = i%

For j% = 1 To Graph1.NumPoints

Graph1.ThisPoint = j%

Graph1.GraphData = <データ>

Graph1.XPosData = <データ>

Next

Next

For i% = 1 to Graph1.NumSets

Graph1.ThisPoint = i%	' ThisPoint プロパティをインデックスとして指定します。

Graph1.LegendText = "Legend" + Str$(i%)

Graph1.ExtraData = <データ>

Graph1.ColorData = <データ>

Graph1.PatternData = <データ>

Graph1.SymbolData = <データ>

Next

For i% = 1 To Graph1.NumPoints

Graph1.ThisPoint = i%

Graph1.LabelText = "Label" + Str$(i%)

Next

Graph1.DrawMode = 2


LabelEvery プロパティ (グラフ コントロール)

X 軸に表示されるラベルの間隔を設定します。

構文

[form.]Graph.LabelEvery[ = frequency%]

解説

指定できる値は、1 ～ 1,000 の範囲の整数です。既定値は 1 です。

たとえば、5 つのデータ項目を持つグラフで、LabelText プロパティを“Jan”、“Feb”、“Mar”、“Apr”、“May”に設定しているとします。このとき LabelEvery プロパティを 1 に設定すると、すべてのラベルが表示されます。LabelEvery プロパティを 2 に設定すると、“Jan”、“Mar”、“May”(1、3、5 番めのラベル) が表示されます。LabelEvery プロパティを 3 に設定すると、“Jan”と“Apr”(1、4 番めのラベル) が表示されます。

注   XPosData プロパティが設定されているときは、LabelEvery プロパティを設定しても無効です。XPosData プロパティを常に設定する必要がある散布図では、LabelEvery プロパティを指定しても無視されます。

データ型

整数型 (Integer)


Labels プロパティ (グラフ コントロール)

グラフの X 軸と Y 軸にラベルを表示するかどうかを設定します。円グラフでは、このプロパティでラベル自体を表示するかどうかを設定します。

構文

[form.]Graph.Labels[ = setting%]

解説

Labels プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Off。(ラベルは表示されません。)

1	On。(X 軸と Y 軸にラベルが表示されます。)

2	X Labels Only。(X 軸のラベルだけが表示されます。)

3	Y Labels Only。(Y 軸のラベルだけが表示されます。)

ラベルは X 軸と Y 軸に表示できます。このプロパティは、Ticks プロパティとは独立して動作します。

データ型

整数型 (列挙型)


LabelText プロパティ (グラフ コントロール)

ラベルとして表示するテキストを設定します。

構文

[form.]Graph.LabelText[ = label$]

解説

LabelText プロパティを設定していないとき、円グラフを除くすべてのグラフでは、ThisPoint プロパティの値がラベルとして表示されます。円グラフでは、各セグメントの値が表示されます。

このプロパティは 1 次元配列で、ThisPoint プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

このプロパティで指定する文字列は 80 バイト以内に制限されています。

長い文字列を指定すると、ラベルが表示されないことがあります。

データ型

文字列型 (String)


LeftTitle プロパティ (グラフ コントロール)

例

グラフの左に表示するタイトルを設定します。

構文

[form.]Graph.LeftTitle[ = title$]

解説

このプロパティは円グラフでは無効です。

このプロパティで指定するタイトル文字列は 80 バイト以内に制限されています。

長い文字列を指定すると、タイトルが表示されないことがあります。そのような場合は、グラフのサイズを大きくしてください。

データ型

文字列型 (String)


LeftTitle プロパティの例 (グラフ コントロール)

次のプログラムでは、LeftTitle プロパティを設定していないときにコマンド ボタンをクリックすると、グラフ (Graph1) の左に“Title”というタイトルが表示されます。LeftTitle プロパティを設定しているときにコマンド ボタンをクリックすると、グラフの左に表示されるタイトルは空白になります。このプログラムを実行するには、フォーム上にコマンド ボタンとグラフ コントロールを配置し、次のコードをフォームの宣言セクションに貼り付けてください。

Private Sub Command1_Click ()

If Graph1.LeftTitle = "" Then

Graph1.LeftTitle = "Title"

Else

Graph1.LeftTitle = ""

End If

Graph1.DrawMode = 2

End Sub


LegendStyle プロパティ (グラフ コントロール)

LegendText プロパティで設定する凡例のテキストに、色を付けるかどうかを設定します。この設定は、パターンおよびシンボルの色に加えられます。

構文

[form.]Graph.LegendStyle[ = setting%]

解説

LegendStyle プロパティの設定値は次のとおりです。

設定値	内容

0	Monochrome

1	Color

データ型

整数型 (列挙型)


LegendText プロパティ (グラフ コントロール)

凡例のテキストを設定します。

構文

[form.]Graph.LegendText[ = text$]

解説

各データ系列に凡例のテキストを指定する必要があります。円グラフまたは 1 つのデータ系列しかない棒グラフでは、各データ項目に凡例のテキストを指定します。

このプロパティは 1 次元配列で、ThisPoint プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

このプロパティで指定する文字列は 80 バイト以内に制限されています。長い文字列を指定すると、凡例が表示されないことがあります。そのような場合は、グラフのサイズを大きくしてください。

データ型

文字列型 (String)


LineStats プロパティ (グラフ コントロール)

折れ線グラフ、散布図、HLC の各グラフで、統計処理した線を表示します。

構文

[form.]Graph.LineStats[ = setting%]

解説

LineStats プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) None

1	Mean (平均値)

2	MinMax (最大値、最小値)

3	Mean and MinMax (平均値、最大値、最小値)

4	StdDev (標準偏差)

5	StdDev and Mean (標準偏差、平均値)

6	StdDev and MinMax (標準偏差、最大値、最小値)

7	StdDev and MinMax and Mean (標準偏差、最大値、最小値、平均値)

8	BestFit (回帰直線)

9	BestFit and Mean (回帰直線、平均値)

10	BestFit and MinMax (回帰直線、最大値、最小値)

11	BestFit and MinMax and Mean (回帰直線、最大値、最小値、平均値)

12	BestFit and StdDev (回帰直線、標準偏差)

13	BestFit and StdDev and Mean (回帰直線、標準偏差、平均値)

14	BestFit and StdDev and MinMax (回帰直線、標準偏差、最大値、最小値)

15	All (平均値、最大値、最小値、標準偏差、回帰直線)

データ型

整数型 (列挙型)


NumPoints プロパティ (グラフ コントロール)

各データ系列に含まれるデータ項目の数を設定します。

構文

[form.]Graph.NumPoints[ = points%]

解説

NumPoints プロパティの最小値は 2 で、既定値は 5 です。

NumPoints プロパティと NumSets プロパティを掛け合わせた値は 3,800 を超えることはできません。

NumPoints プロパティの値は実行時でも変更できます。

NumPoints プロパティを実際のデータ項目の数より小さな値に設定すると、残りの配列データは切り捨てられます。また、NumPoints プロパティを実際のデータ項目の数よりも大きな値に設定すると、Null 値を持つデータが作成されます。

データ型

整数型 (Integer)


NumSets プロパティ (グラフ コントロール)

グラフのデータ系列の数を設定します。

構文

[form.]Graph.NumSets[ = sets%]

解説

NumSets プロパティの最小値は 1 で、既定値は 1 です。

NumPoints プロパティと NumSets プロパティを掛け合わせた値は 3,800 を超えることはできません。

NumSets プロパティの値は実行時でも変更できます。

NumSets プロパティを実際のデータ系列の数よりも小さな値に設定すると、残りの配列データは切り捨てられます。NumSets プロパティを実際のデータ系列の数よりも大きな値に設定すると、Null 値を持つデータが作成されます。

注   円グラフでは、NumSets プロパティが 1 よりも大きな値に設定されているときでも、NumSets = 1 のデータ系列だけを使います。

データ型

整数型 (Integer)


Palette プロパティ (グラフ コントロール)

カラー パレットを選択します。

構文

[form.]Graph.Palette [ = setting%]

解説

Palette プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Solid

1	Pastel

2	Grayscale

Palette プロパティを 1 に設定すると、グラフの色はディザリングされたパステル カラーに変更されます。Palette プロパティを 2 に設定すると、グラフの色はグレイスケール表示になります。

データ型

整数型 (列挙型)


PatternData プロパティ (グラフ コントロール)

塗りつぶしパターン、線の種類、線の幅 (ピクセル単位) を設定します。

構文

[form.]Graph.PatternData[ = pattern%]

解説

PatternData プロパティの設定値については、次の例を参照してください。

PatternData プロパティで指定できる値は、0 ～ 31 の範囲の整数です。塗りつぶしパターンは各データ系列に設定します。ただし、円グラフまたはデータ系列が 1 つしかない、つまり NumSets プロパティが 1 に設定してある棒グラフの場合は、各データ項目にパターンを設定します。

このプロパティは 1 次元配列で、ThisPoint プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

注   塗りつぶしパターンを指定するときは、8 ～ 15 の範囲の値は指定できません。

データ型

整数型 (列挙型)


PatternedLines プロパティ (グラフ コントロール)

折れ線グラフまたはレーダー チャートで、線の種類を指定できるかどうかを設定します。

構文

[form.]Graph.PatternedLines[ = setting%]

解説

PatternedLines プロパティの設定値は次のとおりです。

値	内容

0	(既定値) Off

1	On

PatternedLines プロパティを 1 (On) に設定すると、PatternData プロパティを使って線の種類を指定できます。PatternedLines プロパティを 1 (On) に設定すると、PatternData プロパティを特に指定しない限り、グラフはパターン 1 の点線で表示されます。線の他の種類については、「PatternData プロパティ」を参照してください。

データ型

整数型 (Integer)


Picture プロパティ (グラフ コントロール)

例

グラフ イメージをピクチャ ボックス (PictureBox) コントロールに直接送ります。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]Graph.Picture

データ型

整数型 (Integer)


Picture プロパティの例 (グラフ コントロール)

次のコードは、グラフ コントロール (Graph1) に表示されているグラフをピクチャ ボックス (PictureBox) コントロール (Picture1) に送ります。

Picture1.Picture = Graph1.Picture

Picture1 と Graph1 の大きさが異なるときは、ピクチャ ボックス コントロールの大きさに合わせてグラフ イメージの大きさが変更されます。


PrintStyle プロパティ (グラフ コントロール)

DrawMode プロパティを 5 に設定してグラフ イメージを出力するときのスタイル オプションを選択します。

構文

[form.]Graph.PrintStyle[ = style%]

解説

PrintStyle プロパティの設定値は次のとおりです。

値	内容

0	(既定値) Monochrome

1	Color

2	Monochrome with border

3	Color with border

このプロパティが 0 のときは、出力を行う前に DrawStyle プロパティが一時的に 0 (Monochrome) に設定されます。カラー プリンタまたはグレイスケールを出力する機能を持つプリンタを使っているときは、このプロパティを 1 (Color) に設定してください。このプロパティを 2 または 3 に設定したときは、枠線付きで出力されます。

これらのオプションを設定してから DrawMode プロパティを 5 に設定すると、プリンタの解像度に最も適した出力が得られます。ビットマップで近似されることはありません。

データ型

整数型 (列挙型)


QuickData プロパティ (グラフ コントロール)

例

GraphData プロパティのデータを一度に設定します。このプロパティはデザイン時には使えません。

構文

[form.]Graph.QuickData[ = data$]

解説

数値をタブで区切った文字列をこのプロパティに代入すると、複数の GraphData プロパティの値を一度に設定できます。

各データ項目をタブ文字 (Chr$(9)) で区切り、各データ系列を CR+LF (Chr$(13) + Chr$(10)) で区切って指定します。

グリッド コントロールに入力したデータを使ってグラフを作成する場合は、このプロパティを使うと便利です。QuickData プロパティで指定する文字列の形式は、グリッド コントロールの Clip プロパティに含まれる文字列の形式と同じです。Visual Basic では、次のコードを記述してグリッド コントロールのデータを GraphData プロパティに代入できます。

Graph1.QuickData = Grid1.Clip

注   QuickData プロパティを使って GraphData プロパティの配列データを設定すると、QuickData プロパティに含まれるデータ系列とデータ項目の数に応じて、NumPoints プロパティおよび NumSets プロパティが自動的に設定されます。

QuickData プロパティで指定した文字列の形式に誤りがある場合 (たとえば、一部のデータ系列でデータ項目の数が異なるとき) は、エラーが発生します。GraphData、NumPoints、NumSets の各プロパティの設定は行われません。

QuickData プロパティには、少なくとも 1 つのデータ系列を指定する必要があります。また各データ系列は、少なくとも 2 つのデータ項目を持つ必要があります。

データ型

文字列型 (String)


QuickData プロパティの例 (グラフ コントロール)

Dim T As String

Dim CL As String

Dim MyDataString As String

T = Chr$(9)

CRLF = Chr$(13) + Chr$(10)

MyDataString = "11" + T + "12" + T + "13" + CRLF + "21" + T + "22" + T + "23" + CRLF + "31" + T + "32" + T + "33" + CRLF

Graph1.QuickData = MyDataString


RandomData プロパティ (グラフ コントロール)

RandomData プロパティを 1 (On) に設定すると、乱数データを使ってグラフが作成されます。これは、グラフがどのように表示されるかを確認する場合に役立ちます。

構文

[form.]Graph.RandomData[ = setting%]

解説

RandomData プロパティの設定値は次のとおりです。

設定値	内容

0	Off

1	(既定値) On

乱数は 0 または正の数になります。データが負の値の場合にグラフがどのように表示されるかを確認するときは、値を直接指定してください。

注   GraphData プロパティに値を設定すると、RandomData プロパティは自動的に 0 (Off) に設定されます。このとき、RandomData プロパティを 1 (On) に設定すると、グラフは乱数データを使って表示されます。RandomData プロパティを 0 (Off) に戻すと、GraphData プロパティに設定されている値を使ってグラフが作成されます。DataReset プロパティを使って、GraphData プロパティのデータ、またはすべての配列プロパティのデータをリセットすると、RandomData プロパティは 1 (On) に設定されます。

データ型

整数型 (Integer)


SeeThru プロパティ (グラフ コントロール)

例

SeeThru プロパティを 1 (On) に設定すると、グラフの背景にはグラフを作成する前に表示されていた内容が透けて表示されます。ビットマップを表示しているピクチャ ボックス (PictureBox) コントロールの上にグラフを描くと、特別な効果が得られます。このプロパティはデザイン時には使えません。

構文

[form.]Graph.SeeThru[ = setting%]

解説

SeeThru プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Off

1	On

このプロパティが正しく機能するためには、多少のプログラミングを必要とします。つまり、グラフの上に別のウィンドウを表示した後で、グラフを含むフォームを再び表示したときに、グラフが正しく再描画されるようなコードを記述します。

注   DrawMode プロパティの値に 3 (Blit) を設定するとグラフ全体が再表示されるため、透明なグラフは表示できません。

データ型

整数型 (Integer)


SeeThru プロパティの例 (グラフ コントロール)

このプログラムを実行するには、フォーム上にピクチャ ボックス コントロール (Picture1) とグラフ コントロール (Graph1) を配置します。グラフ コントロールはピクチャ ボックス コントロールの子コントロールではなくフォームに直接配置してください。。次に、グラフをピクチャ ボックス コントロールの上に移動します。グラフの大きさはピクチャ ボックス コントロールよりも小さくして、完全に内側に入るように配置してください。ピクチャ ボックス コントロールの端の部分を残して、ピクチャ ボックス コントロールを再描画するようにします。グラフの BorderStyle プロパティに 0 (なし) を設定し、グラフの周囲に黒い線が表示されないようにします。

ピクチャ ボックス コントロール (Picture1) は、再描画するときにピクチャ ボックス コントロール (Picture1) とグラフ (Graph1) の両方を再描画します。グラフがまだピクチャ上にあり、背景にピクチャが透けて表示されることを確認してください。フラグ (Flag) は、プログラムで再びループ処理が開始されるのを防ぐために設定してください。Paint イベントは Refreash メソッドが使用されたときに、発生します。

Dim Flag As Integer

Private Sub Form_Load ()

Flag = 0

Graph1.SeeThru = 1

End Sub

Private Sub Picture1_Paint ()

If Flag = 1 Then

Flag = 0

Picture1.Refresh

Graph1.Refresh

Else

Flag = 1

End If

End Sub


SymbolData プロパティ (グラフ コントロール)

折れ線グラフ、片対数折れ線グラフ、散布図、レーダー チャートで使うシンボルを設定します。

構文

[form.]Graph.SymbolData[ = symbol%]

解説

SymbolData プロパティの設定値は次のとおりです。

設定値	内容

0	Plus (+)

1	Cross (X)

2	Triangle (up)

3	Solid Triangle (up)

4	Triangle (down)

5	Solid Triangle (down)

6	Square

7	Solid Square

8	Diamond

9	Solid Diamond

これらのシンボルは、各データ系列に設定します。SymbolData プロパティの既定値は 0 です。

このプロパティは 1 次元配列で、ThisPoint プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに、ThisPoint プロパティの値が自動的にインクリメントされます。

データ型

整数型 (列挙型)


ThickLines プロパティ (グラフ コントロール)

線の幅を設定します。

構文

[form.]Graph.ThickLines[ = setting%]

解説

ThickLines プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Off

1	On

ThickLines プロパティを 1 (On) に設定した場合、PatternData プロパティを特に設定しない限り、3 ピクセルの幅の線が引かれます。DrawStyle プロパティの値が 0 (Monochrome) の場合には、PatternData プロパティの設定によって、線の幅は 2 ～ 7 ピクセル の範囲の値になります。

データ型

整数型 (Integer)


ThisPoint プロパティ (グラフ コントロール)

例

現在のデータ項目を設定します。特定のデータ項目のデータを設定するときに使います。

構文

[form.]Graph.ThisPoint[ = point%]

解説

ThisPoint プロパティで指定できる値は、1 ～ NumPoints プロパティの値の範囲の整数です。ThisPoint プロパティの設定は、AutoInc プロパティの設定よりも優先します。

データ型

整数型 (Integer)


ThisPoint プロパティの例 (グラフ コントロール)

次のプログラムでは、1 つのデータ系列からなる 3D 棒グラフを作成します。このデータ系列には 5 つのデータ項目が含まれます。このプログラムを実行するには、フォーム上にグラフ コントロール (Graph1) を配置し、フォームの宣言セクションに次のコードを貼り付けてください。

Private Sub Form_Load ()

Graph1.NumPoints = 5

Graph1.NumSets = 1

Graph1.AutoInc = 1

For I% = 1 to  5

Next I%

Graph1.ThisPoint = 3

Graph1.GraphData = 10

Graph1.GraphType = 4

Graph1.DrawMode = 2

End Sub


ThisSet プロパティ (グラフ コントロール)

例

現在のデータ系列を設定します。特定のデータ系列のデータを設定する場合に使います。

構文

[form.]Graph.ThisSet[ = set%]

解説

ThisSet プロパティで指定できる値は、1 ～ NumSets プロパティの値の範囲の整数です。ThisSet プロパティの設定は、AutoInc プロパティの設定よりも優先します。このプロパティを使うと、特定のデータ系列を指定できます。

データ型

整数型 (Integer)


ThisSet プロパティの例 (グラフ コントロール)

次のプログラムでは、3 つのデータ系列からなる 3D 棒グラフを作成します。各データ系列には 5 つのデータ項目が含まれます。このプログラムを実行するには、フォーム上にグラフ コントロール (Graph1) を配置し、フォームの宣言セクションに次のコードを貼り付けてください。

Private Sub Form_Load ()

Graph1.NumPoints = 5

Graph1.NumSets = 3

Graph1.AutoInc = 1

For I% = 1 To Graph1.NumPoints * Graph1.NumSets

Graph1.GraphData = 5

Next I%

Graph1.ThisSet = 2

Graph1.ThisPoint = 3

Graph1.GraphData = 10

Graph1.GraphType = 4

Graph1.DrawMode = 2

End Sub


TickEvery プロパティ (グラフ コントロール)

X 軸の目盛の間隔を設定します。TickEvery プロパティは、データ項目の 1 目盛の間隔を設定します。指定できる値は 1 ～ 1,000 の範囲です。このプロパティの既定値は 1 です。

構文

[form.]Graph.TickEvery[ = interval%]

解説

XPosData プロパティが設定してある場合は、TickEvery プロパティを設定しても無効です。XPosData プロパティを常に設定する必要のある散布図では、TickEvery プロパティを設定しても無効になります。

TickEvery プロパティで NumPoints プロパティよりも大きな値を指定すると、X 軸は TickEvery プロパティで設定した値まで延長されます。また、必ず X 軸の最後に目盛が入るようにするために、X 軸は必要に応じて TickEvery プロパティの整数倍の値まで延長されます。たとえば、NumPoints プロパティが 127 のときに TickEvery プロパティを 50 に設定すると、X 軸は 150 まで延長されます。

データ型

整数型 (Integer)


Ticks プロパティ (グラフ コントロール)

目盛を表示するかどうかを設定します。

構文

[form.]Graph.Ticks[ = setting%]

解説

目盛の表示/非表示は、X 軸および Y 軸に設定できます。このプロパティは、Labels プロパティとは独立して動作します。3D 棒グラフでは、Ticks プロパティの設定に関係なく、常に目盛が表示されます。

Ticks プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Off

1	X 軸および Y 軸に目盛を入れます。

2	X 軸に目盛を入れます。

3	Y 軸に目盛を入れます。

データ型

整数型 (列挙型)


XPosData プロパティ (グラフ コントロール)

例

各データに対して、X の値を設定します。

構文

[form.]Graph.XPosData[ = xvalue!]

解説

XPosData プロパティには任意の実数を指定できます。

散布図では、このプロパティを設定する必要があります。円グラフとガント チャートでは、このプロパティを設定できません。

このプロパティは 2 次元配列で、ThisPoint プロパティおよび ThisSet プロパティをインデックスとして使います。

このプロパティの値を設定するときは、AutoInc プロパティを使うと便利です。AutoInc プロパティを 1 (On) に設定すると、新しい値を設定するたびに ThisPoint プロパティの値が自動的にインクリメントされます。

複数のデータ系列に対して XposData プロパティを 1 つだけ設定すると、その XposData プロパティの値が各データ系列に対して適用されます。

データ型

単精度浮動小数点数型 (Single)


XPosData プロパティの例 (グラフ コントロール)

Sub Form_Load ()

Dim I%, J%

Graph1.AutoInc = 0

Graph1.NumPoints = 10

Graph1.NumSets = 2

For I% = 1 To 2

Graph1.ThisSet = I%

For J% = 1 To 10

Graph1.ThisPoint = J%

If I% = 1 Then Graph1.GraphData = 5 [image] J%

If I% = 2 Then Graph1.GraphData = J% [image] 5

Graph1.XPosData = J% / I%

Next J%

Next I%

Graph1.DrawMode = 2

End Sub


YAxisMax、YAxisMin プロパティ (グラフ コントロール)

Y 軸の最大値 (YAxisMax) と最小値 (YAxisMin) を設定します。

構文

[form.]Graph.YAxisMax[ = max!]
[form.]Graph.YAxisMin[ = min!]

解説

YAxisMax プロパティおよび YAxisMin プロパティには、任意の実数を指定できます。

これらのプロパティを使うには、YAxisStyle プロパティを 2 (user-defined) に設定する必要があります。これらのプロパティは、YAxisTicks プロパティと組み合わせて使います。詳細については、「YAxisStyle プロパティ」を参照してください。

データ型

単精度浮動小数点数型 (Single)


YAxisPos プロパティ (グラフ コントロール)

Y 軸の表示位置を設定します。

構文

[form.]Graph.YAxisPos[ = position%]

解説

YAxisPos プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Y 軸が表示される位置は、XPosData プロパティの設定に応じて自動的に設定されます。X の値がすべて正のときは、Y 軸はグラフの左端に表示されます。X の値がすべて負のときは、Y 軸はグラフの右端に表示されます。

1	Y 軸は左端に表示されます。

2	Y 軸は右端に表示されます。

データ型

整数型 (列挙型)


YAxisStyle プロパティ (グラフ コントロール)

Y 軸のスケールと範囲を決定する方法を設定します。

構文

[form.]Graph.YAxisStyle[ = style%]

解説

YAxisStyle プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) データの値によって、Y 軸の範囲が自動的に設定されます。Y 軸の最大値は、データの最大値と同じかそれよりも大きくなります。Y 軸の最小値は、負のデータが含まれないときは 0 で、負のデータが含まれるときはデータの最小値と同じかそれよりも小さくなります。したがって、Y 軸には常に原点 0 が含まれます。

1	Y 軸の最大値は、データの最大値と同じかそれよりも大きくなります。Y 軸の最小値は、負のデータが含まれるかどうかにかかわらず、データの最小値と同じかそれよりも小さくなります。したがって、Y 軸に原点 0 が含まれないこともあります。

2	YAxisMax、YAxisMin、YAxisTicks の各プロパティの設定に従って、Y 軸の範囲が決まります。

データの値が正または負に集まってばらつきが小さい場合は、YAxisStyle プロパティを 1 に設定することをお勧めします。既定値の設定のままグラフを作成すると、データのばらつきの状態が確認できません。

データを特殊な方法で表示するには、YAxisStyle プロパティを 2 に設定すると便利です。たとえば、比較グラフを作成する場合、正の値しか含まないグラフがあるときでも、Y 軸はすべて同じ範囲 (たとえば -1,000 ～ +1,000) に設定します。

重要   Y 軸の範囲に含まれないデータがある場合は、そのデータは軸の外側に表示されるため、グラフは正しく表示されません。

YAxisMax プロパティと YAxisMin プロパティで符号が異なるとき、YAxisTicks プロパティで指定する値は、YAxisMax プロパティまたは YAxisMin プロパティのうち絶対値が大きいほうから原点までの目盛の数になります。このとき、絶対値が大きいほうのプロパティの値で目盛の間隔が決まり、Y 軸の範囲が自動的に変更されます。

たとえば、YAxisMax = 300、YAxisMin = 10、YAxisTicks = 3 と設定すると、目盛の間隔は 100 で Y 軸の範囲は -100 ～ 300 になります。

また、YAxisMax = 10、YAxisMin = -300、YAxisTicks = 3 と設定すると、Y 軸の範囲は -300 ～ 100 になります。

データ型

整数型 (列挙型)


YAxisTicks プロパティ (グラフ コントロール)

Y 軸の目盛の数を指定します。

構文

[form.]Graph.YAxisTicks[ = ticks%]

解説

YAxisTicks プロパティで指定できる値は、1 ～ 100 の範囲の整数です。既定値は 1 です。

YAxisTicks プロパティは、YAxisMax プロパティおよび YAxisMin プロパティと組み合わせて使います。YAxisStyle プロパティを 2 (user-defined) に設定していない場合は、このプロパティを設定しても無効です。

データ型

整数型 (Integer)


 キー ステータス コントロール

プロパティ	メソッド	イベント	定数

キー ステータス コントロールを使うと、CapsLock、NumLock、Ins、および ScrollLock の各キーの状態を表示または修正することができます。

ファイル名

KEYSTA16.OCX、KEYSTA32.OCX

クラス名

mhState

解説

キー ステータス コントロールでは、キーボードのキーの状態を設定します。値の取得も可能です。Style プロパティを使って、どのキーにキー ステータス コントロールを割り当てるかを決めることができます。実行時には、Value プロパティをそれぞれ真 (True) または偽 (False) に設定して、キーのオンとオフを切り替えます。また、キー ステータス コントロールをクリックして、実行時にキーの状態を変更することもできます。

作成したコントロールの数が 16 までの場合は、それに対応するキーを押したときに、そのコントロールの表示状態が自動的に更新されます。16 を超えるコントロールを作成すると、17 個め以降のコントロールは表示されますが、その表示状態はキーを押しても更新されません。

配布時の注意   キー ステータス コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに、適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

キー ステータス コントロールのプロパティは次のとおりです。アスタリスク (*) は、キー ステータス コントロールにのみ適用されるプロパティ、またはキー ステータス コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

AutoSize	HelpContextID	Parent	*Value
BackColor	Index	*Style	Visible
Container	Left	TabIndex	WhatsThisHelpID
DragIcon	MouseIcon	TabStop	*Width
DragMode	MousePointer	Tag
Enabled	Name	*TimerInterval
*Height	Object	Top
キー ステータス コントロールでは、既定プロパティは Value プロパティです。

注   Name プロパティは、Microsoft Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

キー ステータス コントロールのイベントは次のとおりです。アスタリスク (*) は、キー ステータス コントロールにのみ適用されるイベント、またはキー ステータス コントロールと共に使う場合に特に注意が必要なイベントを示しています。

*Change	GotFocus	KeyPress	LostFocus
Click	KeyDown	KeyUp


メソッド

キー ステータス コントロールに適用されるメソッドは次のとおりです。

Move	SetFocus	ZOrder
Refresh	ShowWhatsThis


Height、Width プロパティ (キー ステータス コントロール

キー ステータス コントロールの高さと幅を決定します。

構文

[form.]KeyState.Height[ = setting%]

[form.]KeyState.Width[ = setting%]

解説

AutoSize プロパティを偽 (False) に設定すると、キー ステータス コントロールの大きさを変更することができます。

データ型

整数型 (Integer)


Style プロパティ (キー ステータス コントロール)

どのキーボードの状態がキー ステータス コントロールに関連付けられているかを判別します。

構文

[form.]KeyState.Style[ = setting%]

解説

Style プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 大文字ロック

1	数字ロック

2	挿入状態

3	スクロール ロック

データ型

整数型 (列挙型)


TimerInterval プロパティ (キー ステータス コントロール)

すべてのキー ステータス コントロールの現在のタイマー間隔の設定値を設定します。値の取得も可能です。既定値は 1,000 ミリ秒です。

構文

[form.]KeyState.TimerInterval[ = milliseconds%]

解説

このプロパティに、キー ステータス コントロールが調べられる間隔を設定します。プログラムの実行速度に問題があるときは、TimerInterval プロパティの設定値を大きくします。

単一のタイマーがすべてのキー ステータス コントロールを操作します。あるコントロールの TimerInterval プロパティを変更すると、すべてのコントロールについてもこのプロパティを変更することになります。

TimerInterval プロパティを負の値に設定することはできません。

データ型

長整数型 (Long)


Value プロパティ (キー ステータス コントロール)

Style プロパティで定義したキーの現在のステータスを設定します。値の取得も可能です。Value プロパティは、押された状態ではなく、キーのロック状態を取得します。このプロパティは、デザイン時には使えません。

構文

[form.]KeyState.Value[ = {True | False}]

解説

Value プロパティの設定値は次のとおりです。

設定値	内容

False	キーのステータスはオフです。

True	キーのステータスはオンです。

データ型

整数型 (ブール型)


Change イベント (キー ステータス コントロール)

Value プロパティを変更すると発生します。

構文

Private Sub KeyState_Change ()


 MAPI セッション コントロール

プロパティ	メソッド	定数	エラー メッセージ

MAPI (メッセージ アプリケーション プログラム インターフェイス) コントロールは、メッセージ処理機能を備えた MAPI アプリケーションを Visual Basic で作成するときに使います。MAPI コントロールには、MAPI セッション コントロールと MAPI メッセージ コントロールの 2 種類のカスタム コントロールがあります。MAPI セッション コントロールは MAPI セッションの確立に使われ、MAPI メッセージ コントロールは、セッションの確立後にユーザーがさまざまなメッセージ システムの機能を利用するのに使われます。

MAPI コントロールは実行時には表示されず、イベントを発生させません。これらの 2 つのコントロールを使用するには、操作に応じて各種メソッドを指定してください。

これらの 2 つのコントロールを利用するには、各種 MAPI サービスが必要となります。MAPI サービスは、Windows Version 3.0 以降で実行可能な MAPI 準拠の電子メール システムで提供されています。

MAPI セッション コントロールは、メッセージ セッションの確立に使用します。

ファイル名

MSMAPI16.OCX、MSMAPI32.OCX


プロパティ

MAPI セッション コントロールのプロパティは次のとおりです。アスタリスク (*) は、MAPI セッション コントロールにのみ適用されるプロパティ、または MAPI セッション コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*Action	Name	*SessionID
*DownloadMail	*NewSession	Tag
Index	Object	Top
Left	Parent	*UserName
*LogonUI	*Password


メソッド

MAPI セッション コントロールに適用されるメソッドは次のとおりです。

SignOff	SignOn


Action プロパティ (MAPI セッション コントロール)

MAPI セッション コントロールが起動されたときに実行する操作を指定します。このプロパティは、デザイン時には使えません。実行時に Action プロパティの値を設定すると、MAPI セッション コントロールが起動されます。Action プロパティは、実行時には設定のみ可能です。

注   Action プロパティは、Visual Basic の以前のバージョンとの互換性を保つためにサポートされています。追加機能を利用する場合は、MAPI セッション コントロールのメソッドの一覧にある新しく追加されたメソッドを使用してください。

構文

[form.]MapiSession.Action[ = setting%]

解説

このプロパティは、メッセージ セッションにサイン インするか、セッションからサイン アウトするかの選択に使います。サイン インしたときには、セッション ハンドルが返され SessionID プロパティに保存されます。

Action プロパティの設定値は次のとおりです。

設定値	内容

SignOn	UserName プロパティと Password プロパティで指定されているアカウントにサイン インし、そのメッセージ サブシステムに対するセッション ハンドルを生成します。生成されたセッション ハンドルは SessionID プロパティに格納されます。

NewSession プロパティの設定に従って、新しく生成されるセッションか、既存のセッションのどちらかが参照されます。

SignOff	メッセージ セッションを終了し、指定したアカウントからサイン アウトします。

データ型

整数型 (列挙型)


DownloadMail プロパティ

メール サーバーから新着メッセージをダウンロードするかどうかを指定します。

構文

[form.]MapiSession.DownloadMail[ = {True | False}]

解説

DownloadMail プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) サイン インしたときに、すべての新着メッセージをメール サーバーからユーザーの受信トレイにダウンロードします。ダウンロード中は、進行状況が表示されます。

False	サイン インしたときには、メール サーバーにある新着メッセージのダウンロードは行いません。ただし、ユーザーが設定した間隔でメッセージのチェックを行った場合にはダウンロードが行われます。

このプロパティを真 (True) に設定すると、サイン イン時にすべてのメッセージを読むことができます。そのかわり、サイン インの処理時間が長くなります。

データ型

整数型 (ブール型)


LogonUI プロパティ

サイン イン時にダイアログ ボックスを表示するかどうかを指定します。

構文

[form.]MapiSession.LogonUI[ = {True | False}]

解説

LogonUI プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) 新しくサイン インするユーザーに、ダイアログ ボックスを表示してメールボックス名とパスワードの入力を要求します。ただしダイアログ ボックスは、有効なメッセージ セッションが開始されていない場合のみ表示されます。詳細については、「NewSession プロパティ」を参照してください。

False	ダイアログ ボックスは表示されません。

LogonUI プロパティを偽 (False) に設定すると、ユーザーの操作を必要としないでメッセージ セッションを開始する場合に便利です。この場合、ユーザーのメールボックス名とパスワードをあらかじめ指定しておく必要があります。どちらかが指定されていない場合や、指定した値が正しくない場合は、エラーが発生します。

データ型

整数型 (ブール型)


NewSession プロパティ

既に有効なセッションが存在しているときに、新しくメッセージ セッションを開始するかどうかを指定します。

構文

[form.]MapiSession.NewSession[ = {True | False}]

解説

NewSession プロパティの設定値は次のとおりです。

設定値	内容

True	既に開かれた有効なメッセージ セッションがある場合でも、新しくメッセージ セッションを開始します。

False	(既定値) 既にユーザーがセッションを開始している場合は、そのセッションを使います。

データ型

整数型 (ブール型)


Password プロパティ (MAPI セッション コントロール)

アカウントの UserName プロパティに対応するパスワードを指定します。

構文

[form.]MapiSession.Password[ = string$]

解説

このプロパティに長さ 0 の文字列を設定すると、サイン イン時にダイアログ ボックスのパスワードを入力するテキスト ボックスが空白の状態で表示されます。このプロパティの既定値は、長さ 0 の文字列です。

データ型

文字列型 (String)


SessionID プロパティ (MAPI セッション コントロール)

メッセージ セッションのセッション ハンドルが格納されています。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MapiSession.SessionID

解説

このプロパティは SignOn メソッドを実行したときに設定されます。SessionID プロパティには、他のメッセージ セッションと重複しないセッション ハンドルが格納されます。既定値は 0 です。

MAPI メッセージ コントロールの SessionID プロパティには、このプロパティの値を設定してください。

データ型

長整数型 (Long)


UserName プロパティ

ユーザーのメールボックス名を指定します。

構文

[form.]MapiSession.UserName[ = string$]

解説

このプロパティには、サイン インやサイン アウトのとき必要となるユーザーのメールボックス名を指定します。LogonUI プロパティを真 (True) に設定し、UserName プロパティに長さ 0 の文字列を設定すると、サイン イン時に、ダイアログ ボックスのメールボックス名のテキスト ボックスが空白の状態で表示されます。このプロパティの既定値は、長さ 0 の文字列です。

データ型

文字列型 (String)


SignOff メソッド

メッセージ セッションを終了し、UserName プロパティと Password プロパティで指定されているアカウントからサイン アウトします。

構文

[form.]MapiSession.SignOff


SignOn メソッド

UserName プロパティと Password プロパティで指定されているアカウントにサイン インし、そのメッセージ サブシステムに対するセッション ハンドルを生成します。

構文

[form.]MapiSession.SignOn

解説

生成されたセッション ハンドルは SessionID プロパティに格納されます。NewSession プロパティの設定に従って、新しく生成されるセッションか既存のセッションのどちらかが参照されます。


 MAPI メッセージ コントロール

プロパティ	メソッド	定数	エラー メッセージ

MAPI (メッセージ アプリケーション プログラム インターフェイス) コントロールは、メッセージ処理機能を備えた MAPI アプリケーションを Visual Basic で作成するときに使います。MAPI コントロールには、MAPI セッション コントロールと MAPI メッセージ コントロールの 2 種類のカスタム コントロールがあります。MAPI セッション コントロールは MAPI セッションの確立に使われ、MAPI メッセージ コントロールは、セッションの確立後にユーザーがさまざまなメッセージ システムの機能を利用するのに使われます。

MAPI コントロールは実行時には表示されず、イベントを発生させません。これらの 2 つのコントロールを使用するには、操作に応じて各種メソッドを指定してください。

これらの 2 つのコントロールを利用するには、各種 MAPI サービスが必要となります。MAPI サービスは、Windows Version 3.0 以降で実行可能な MAPI 準拠の電子メール システムで提供されています。

MAPI メッセージ コントロールは、MAPI セッション コントロールによるメッセージ セッションの確立後に、メッセージ システムのさまざまな機能の実行に使われます。

クラス名

MapiMessages

解説

MAPI メッセージ コントロールでは、次のようなことができます。

受信トレイにあるメッセージへのアクセス。

新規メッセージの作成。

メッセージの受信者や添付ファイルの追加および削除。

メッセージの送信 (ユーザー インターフェイスを使っても、使わなくても実行可能)。

メッセージの保存、コピー、削除。

[アドレス帳] ダイアログ ボックスの表示。

[詳細] ダイアログ ボックスの表示。

添付ファイル (リンク オブジェクトや埋め込みオブジェクトも含む) へのアクセス。

受信者名のアドレス帳での確認。

メッセージの返信、全員への返信、転送などのメッセージ操作の実行。

MAPI メッセージ コントロールの大半のプロパティは、アドレス帳関連のプロパティ、添付ファイル関連のプロパティ、メッセージ関連のプロパティ、受信者関連のプロパティの 4 つに機能別に分類できます。添付ファイル関連のプロパティは AttachmentIndex プロパティで、メッセージ関連のプロパティは MsgIndex プロパティで、受信者関連のプロパティは RecipIndex プロパティでそれぞれ制御されます。

たとえば MsgIndex プロパティのインデックス値を変更すると、メッセージ、添付ファイル、受信者関連の他のすべてのプロパティも、指定されたメッセージの設定内容を反映するように変更されます。メッセージと受信者関連の一連のプロパティも同じように機能します。アドレス帳関連の各種プロパティは、[アドレス帳] ダイアログ ボックスの外観を指定するのに使われます。

メッセージ バッファ

MAPI メッセージ コントロールを使うときは、“作成バッファ”と“受信バッファ”の 2 つのバッファを管理しなければなりません。受信バッファには、ユーザーの受信トレイ内のインデックスが付けられたメッセージ セットが格納されます。このメッセージ セットから個々のメッセージを選んで読むには、MsgIndex プロパティを使います。インデックスの値は、最初のメッセージの 0 から始まり、最後のメッセージまで 1 ずつ増えていきます。

Fetch メソッドを実行するとメッセージ セットが作成されます。このメッセージ セットには、FetchMsgType プロパティで指定したタイプのメッセージがすべて含まれ、FetchSorted プロパティで指定した方法で並べられます。FetchUnreadOnly プロパティを使うと、既に読んだメッセージをメッセージ セットに含めるかどうかを指定できます。受信バッファ内のメッセージは直接編集することはできませんが、作成バッファにコピーすれば編集可能になります。

作成バッファでは、メッセージの作成や編集を行うことができます。作成バッファがアクティブなときは、MsgIndex プロパティは -1 に設定されています。メッセージの送信、ダイアログ ボックスを利用したメッセージの送信、メッセージの保存、受信者や添付ファイルの削除など、大半のメッセージ処理作業は、作成バッファ内でのみ有効です。

このコントロールのプロパティとエラー定数については、オブジェクト ブラウザのオブジェクト ライブラリを参照してください。


プロパティ

MAPI メッセージ コントロールのプロパティは次のとおりです。アスタリスク (*) は、MAPI メッセージ コントロールにのみ適用されるプロパティ、または、MAPI メッセージ コントロールと共に使う場合に特に注意が必要なプロパティを示しています。プロパティは、アルファベット順に並べてあります。

*Action	*FetchUnreadOnly	*MsgType
*AddressCaption	Index	Name
*AddressEditFieldCount	*MsgConversationID	Object
*AddressLabel	*MsgCount	Parent
*AddressModifiable	*MsgDateReceived	*RecipAddress
*AddressResolveUI	*MsgID	*RecipCount
*AttachmentCount	*MsgIndex	*RecipDisplayName
*AttachmentIndex	*MsgNoteText	*RecipIndex
*AttachmentName	*MsgOrigAddress	*RecipType
*AttachmentPathName	*MsgOrigDisplayName	*SessionID
*AttachmentPosition	*MsgRead	Tag
*AttachmentType	*MsgReceiptRequested	Top
*FetchMsgType	*MsgSent
*FetchSorted	*MsgSubject


メソッド

MAPI メッセージ コントロールに適用されるメソッドは次のとおりです。メソッドはアルファベット順に並べてあります。

Compose	Forward	Save
Copy	Reply	Send
Delete	ReplyAll	Show
Fetch	ResolveName


Action プロパティ (MAPI メッセージ コントロール)

MAPI メッセージ コントロールが起動されたときに実行する動作を指定します。このプロパティはデザイン時には使えません。実行時に Action プロパティに値を設定すると、MAPI メッセージ コントロールが起動されます。Action プロパティは、実行時には設定のみ可能です。

注   Action プロパティは、Visual Basic の以前のバージョンとの互換性を保つためにサポートされています。追加機能を利用する場合は、MAPI メッセージ コントロールのメソッドの一覧にある新しく追加されたメソッドを使用してください。

構文

[form.]MapiMessages.Action[ = setting%]

解説

Visual Basic Version 3.0 の Action プロパティとそれに対応する Visual Basic Version 4.0 の新しいメソッドは次のとおりです。

Visual Basic Version 3.0 の	Visual Basic Version 4.0 で

Action プロパティ	対応するメソッド

MESSAGE_FETCH	Fetch メソッド

MESSAGE_SENDDLG	Send メソッド

MESSAGE_SEND	Send メソッド

MESSAGE_SAVEMSG	Save メソッド

MESSAGE_COPY	Copy メソッド

MESSAGE_COMPOSE	Compose メソッド

MESSAGE_REPLY	Reply メソッド

MESSAGE_REPLYALL	ReplyAll メソッド

MESSAGE_FORWARD	Forward メソッド

MESSAGE_DELETE	Delete メソッド

MESSAGE_SHOWADBOOK	Show メソッド

MESSAGE_SHOWDETAILS	Show メソッド

MESSAGE_RESOLVENAME	ResolveName メソッド

RECIPIENT_DELETE	Delete メソッド

ATTACHMENT_DELETE	Delete メソッド

データ型

整数型 (Integer)


AddressCaption プロパティ

引数 details を指定しないか、または偽 (False) に指定して Show メソッドを実行したときに、[アドレス帳] ダイアログ ボックスのタイトル バーに表示されるキャプションを指定します。

構文

[form.]MapiMessages.AddressCaption[ = string$]

解説

このプロパティに Null 値または長さ 0 の文字列を設定すると、既定値の“アドレス帳”が使われます。

データ型

文字列型 (String)


AddressEditFieldCount プロパティ

引数 details を指定しないか、または偽 (False) に指定して Show メソッドを実行したときに、ユーザーが [アドレス帳] ダイアログ ボックスで使えるアドレス指定用のリスト ボックスやボタンの数を指定します。

構文

[form.]MapiMessages.AddressEditFieldCount[ = setting%]

解説

AddressEditFieldCount プロパティの設定値は次のとおりです。

設定値	内容

0	リスト ボックスとボタンは表示されません。内容の確認だけが可能です。

1	(既定値) ダイアログ ボックスに [宛先] リスト ボックスとボタンだけが表示されます。

2	ダイアログ ボックスに [宛先] と [CC] (コピー) の 2 つのリスト ボックスとボタンが表示されます。

3	ダイアログ ボックスに [宛先]、[CC] (コピー)、[BCC] (ブラインド コピー) の 3 つのリスト ボックスとボタンが表示されます。

4	メッセージ システムでサポートされているリスト ボックスとボタンだけがダイアログ ボックスに表示されます。

たとえば、AddressEditFieldCount プロパティを 3 に設定すると、ユーザーは [アドレス帳] ダイアログ ボックスで [宛先]、[CC]、[BCC] の 3 つのリスト ボックスとボタンを選択することができます。AddressEditFieldCount プロパティは、少なくともその受信者セットに最低限必要となるリスト ボックスとボタンの数になるように自動的に調整されます。

データ型

整数型 (列挙型)


AddressLabel プロパティ

引数 details を指定せずに、あるいは偽 (False) に指定して Show メソッドを実行したときの [アドレス帳] ダイアログ ボックスにある [宛先] リスト ボックスのラベル名を指定します。

構文

[form.]MapiMessages.AddressLabel[ = string$]

解説

このプロパティは通常は無視されるもので、既定のラベル“宛先”を使うために長さ 0 の文字列を設定しておきます。ただし、AddressEditFieldCount プロパティが 1 に設定されているときは、任意に他のラベルを指定することができます。このとき、受信者のセットに必要なリスト ボックスの数は 1 です。

データ型

文字列型 (String)


AddressModifiable プロパティ

アドレス帳の内容を変更できるかどうかを指定します。

構文

[form.]MapiMessages.AddressModifiable[ = {True | False}]

解説

AddressModifiable プロパティの設定値は次のとおりです。

設定値	内容

True	ユーザーは個人用のアドレス帳を変更できます。

False	(既定値) ユーザーは個人用のアドレス帳を変更できません。

データ型

整数型 (ブール型)


AddressResolveUI プロパティ

ResolveName メソッドが実行されたときに、指定された文字列を含む受信者名をダイアログ ボックスに表示するかどうかを指定します。

構文

[form.]MapiMessages.AddressResolveUI[ = {True | False}]

解説

AddressResolveUI プロパティの設定値は次のとおりです。

設定値	内容

True	指定された文字列を含む受信者をダイアログ ボックスに表示します。

False	(既定値) 指定した名前に一致する名前がない場合もダイアログ ボックスを表示しません。一致する名前が見つからない場合、エラーが発生します。

データ型

整数型 (ブール型)


AttachmentCount プロパティ

インデックスで指定されているメッセージの添付ファイルの総数を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得のみ可能です。

構文

[form.]MapiMessages.AttachmentCount

解説

既定値は 0 です。AttachmentCount プロパティの値には、インデックスで指定されているメッセージの添付ファイルの数が設定されます。

データ型

長整数型 (Long)


AttachmentIndex プロパティ

インデックスで指定する添付ファイルを設定します。このプロパティは、デザイン時には使えません。

構文

[form.]MapiMessages.AttachmentIndex[ = index% ]

解説

メッセージの添付ファイルに与えられたインデックス番号を指定します。このプロパティに設定されたインデックス番号によって、AttachmentFileName プロパティ、AttachmentPathName プロパティ、AttachmentPosition プロパティ、AttachmentType プロパティの値が決まります。AttachmentIndex プロパティに設定されている値をインデックス番号に持つ添付ファイルのことを、“インデックスで指定されている”添付ファイルと表現します。AttachmentIndex プロパティには、0 (既定値) ～ AttachmentCount プロパティの値 -1 の範囲の値を入れることができます。

新しく添付ファイルを追加するには、作成バッファで作業しているとき (MsgIndex プロパティが -1 のとき) に、AttachmentIndex プロパティに添付のファイルの数以上の値を設定してください。AttachmentCount プロパティの値は、自動的に追加後の添付ファイルの数に更新されます。

たとえば、AttachmentCount プロパティの値が 3 のときに AttachmentIndex プロパティを 4 に設定すると、2 つの添付ファイルが新しく追加され、AttachmentCount プロパティの値は 5 になります。

既存の添付ファイルを削除するには、Delete メソッドでパラメータ object を 2 に設定して実行してください。添付ファイルの追加や削除は、MsgIndex プロパティが -1 に設定されているときだけ行えます。

データ型

長整数型 (Long)


AttachmentName プロパティ

インデックスで指定されている添付ファイルの名前を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.AttachmentName[ = string$]

解説

このプロパティに指定するファイル名は、インデックスで指定されているメッセージの受信者に対して表示されるファイル名です。AttachmentFileName プロパティに長さ 0 の文字列を設定すると、AttachmentPathName プロパティに設定されている名前が使われます。

添付ファイルが OLE オブジェクトの場合、AttachmentFileName プロパティには、オブジェクトのクラス名 (“Microsoft Excel Worksheet”など) が設定されます。

受信バッファ内の添付ファイルは、次の読み込み操作が行われたときに削除されます。AttachmentName プロパティの値は、AttachmentIndex プロパティで指定されている添付ファイルに応じて変わります。

データ型

文字列型 (String)


AttachmentPathName プロパティ

インデックスで指定されている添付ファイルの絶対パス名を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.AttachmentPathName[ = string$]

解説

パス名に長さ 0 の文字列を指定してメッセージを送ろうとすると、エラーが発生します。受信バッファ内の添付ファイルは、次の読み込み操作が行われたときに削除されます。作成バッファ内の添付ファイルは、ユーザーが自分で削除しなければなりません。AttachmentPathName プロパティの値は、AttachmentIndex プロパティで指定されている添付ファイルに応じて変わります。

データ型

文字列型 (String)


AttachmentPosition プロパティ

インデックスで指定されている添付ファイルをメッセージの本文のどの場所に置くかを指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.AttachmentPosition[ = position&]

解説

添付ファイルを置く場所を決めるには、メッセージの本文のバイト数を数え、添付ファイルで置き換えたい文字のバイト位置を調べます。その場所までのバイト数を、AttachmentPosition プロパティの値に設定します。

たとえば、本文が 5 バイトのメッセージでは、AttachmentPosition プロパティを 4 に設定すれば、添付ファイルをメッセージの最後に置くことができます。メッセージの本文は、バイト位置 0 ～ 4 の間に置かれています。

1 つのメッセージの同じ位置に複数の添付ファイルを置くことはできません。また、添付ファイルをメッセージの本文の最後の文字よりも後ろに置くことはできません。

AttachmentPosition プロパティの値は、AttachmentIndex プロパティで指定されている添付ファイルに応じて変わります。

データ型

長整数型 (Long)


AttachmentType プロパティ

インデックスで指定されている添付ファイルの種類を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.AttachmentType[ = type%]

解説

AttachmentType プロパティの設定値は次のとおりです。

設定値	内容

Data	データ ファイル

EOLE	埋め込み OLE オブジェクト

SOLE	静的 OLE オブジェクト

AttachmentType プロパティの値は、AttachmentIndex プロパティで指定されている添付ファイルに応じて変わります。

データ型

整数型 (列挙型)


FetchMsgType プロパティ

メッセージ セットを作成するためのメッセージの種類を指定します。

構文

[form.]MapiMessages.FetchMsgType[ = string$]

解説

このプロパティは、Fetch メソッドを実行したときにメッセージ セットに追加するメッセージのタイプを判別します。このプロパティに Null 値または長さ 0 の文字列を設定すると、メッセージ タイプは既定値の IPM (個人間メッセージ) になります。

データ型

文字列型 (String)


FetchSorted プロパティ

受信トレイにあるメッセージからメッセージ セットを作成するときの、メッセージの並べ替え順序を指定します。

構文

[form.]MapiMessages.FetchSorted[ = {True | False}]

解説

FetchSorted プロパティの設定値は次のとおりです。

設定値	内容

True	受信した順にメッセージをメッセージ セットに追加します。

False	(既定値) ユーザーが受信トレイで指定した並べ替え順序でメッセージを追加します。

データ型

整数型 (ブール型)


FetchUnreadOnly プロパティ

メッセージ セットに含むメッセージを、未読メッセージだけに制限するかどうかを指定します。

構文

[form.]MapiMessages.FetchUnreadOnly[ = {True | False}]

解説

FetchUnreadOnly プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) FetchMsgType プロパティで指定したタイプのメッセージのうち、未読のものだけをメッセージ セットに追加します。

False	受信トレイ内の該当するタイプのメッセージをすべて追加します。

データ型

整数型 (ブール型)


MsgConversationID プロパティ

インデックスで指定されているメッセージの会話スレッド ID を指定します。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.MsgConversationID[ = string$]

解説

会話スレッドは、元になるメッセージを先頭に、そのメッセージに対する返信をすべて含む、メッセージ セットの識別に使われます。メッセージが同じ会話スレッド ID を持つということは、それらのメッセージが同じスレッドに入っているということを示します。新しいメッセージには、メッセージ システムによって ID が割り当てられます。MsgConversationID プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

文字列型 (String)


MsgCount プロパティ

メッセージ セッションが開かれている間、メッセージ セットに含まれるメッセージの数を示します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MapiMessages.MsgCount

解説

このプロパティは、現在メッセージ セットに含まれているメッセージの数を調べるのに使います。既定値は 0 です。このプロパティは、読み込み操作が行われるたびに更新されます。

データ型

長整数型 (Long)


MsgDateReceived プロパティ

インデックスで指定されているメッセージの日付を指定します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MapiMessages.MsgDateReceived

解説

このプロパティの値は、YYYY/MM/DD HH:MM という形式になっています。時刻は標準的な 24 時間制です。MsgDateReceived プロパティの値は、メッセージ システムによって設定されます。また、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

文字列型 (String)


MsgID プロパティ

インデックスで指定されているメッセージを識別する文字列が格納されています。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]Map/iMessages.MsgID

解説

メッセージを識別する文字列は、各システム固有で 64 文字の出力できない文字列であり、1 つのメッセージだけを識別します。MsgID プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

文字列型 (String)


MsgIndex プロパティ

メッセージのインデックス番号を設定して、操作の対象となるメッセージを指定します。このプロパティは、デザイン時には使えません。

構文

[form.]MapiMessages.MsgIndex[ = index&]

解説

MAPI メッセージ コントロールの、このプロパティを除くすべてのメッセージ関連プロパティの値は、MsgIndex プロパティの設定によって決まります。インデックス番号には、-1 ～ MsgCount プロパティの値 -1 の範囲の値を指定することができます。

注   MsgIndex プロパティの値を変更すると、添付ファイルや受信者の設定もすべて変わります。

MsgIndex プロパティに格納されている値をインデックス番号に持つメッセージのことを、“インデックスで指定されている”メッセージというように表現します。このインデックスを変更すると、その他のすべてのメッセージ プロパティが、インデックスで指定されているメッセージの設定内容を反映するように変更されます。値が -1 のときは、作成バッファで作成中のメッセージ、つまりこれから送信するメッセージが指定されます。

データ型

長整数型 (Long)


MsgNoteText プロパティ

メッセージの本文が格納されます。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.MsgNoteText[ = string$]

解説

このプロパティには、メッセージ本文のテキスト部分が格納されます。ただし、添付ファイルは含みません。長さ 0 の文字列が設定されている場合は、テキストがないことを示します。

受信メッセージでは、各段落は CR+LF (0x0d0a) で区切られています。送信メッセージでは、段落の区切りに、CR (0x0d)、LF (0x0a)、CR+RF (0x0d0a) のいずれかを使うことができます。MsgNoteText プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

文字列型 (String)


MsgOrigAddress プロパティ

インデックスで指定されているメッセージの差出人を示します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。このプロパティは、メッセージを送信したときにメッセージ システムによって設定されます。

構文

[form.]MapiMessages.MsgOrigAddress

解説

MsgOrigAddress プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。作成バッファで作業している間は、値は Null 値になっています。

データ型

文字列型 (String)


MsgOrigDisplayName プロパティ

インデックスで指定されているメッセージの差出人の名前を返します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。このプロパティの値は、メッセージ システムによって設定されます。

構文

[form.]MapiMessages.MsgOrigDisplayName

解説

このプロパティに設定された名前は、メッセージのヘッダーで差出人の名前として使われます。MsgOrigDisplayName プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。作成バッファで作業している間は、値は Null 値になっています。

データ型

文字列型 (String)


MsgRead プロパティ

メッセージが既に読まれたかどうかを返します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MapiMessages.MsgRead

解説

MsgRead プロパティの設定値は次のとおりです。

設定値	内容

True	インデックスで指定されているメッセージは既に読まれています。

False	(既定値) メッセージは未読です。

MsgRead プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。テキストだけを読んだ場合や、添付ファイルのうちの 1 つだけを読んだ場合でも、メッセージは読まれたことになります。ただし、ヘッダー情報を見ただけでは、メッセージが読まれたことにはなりません。

データ型

整数型 (ブール型)


MsgReceiptRequested プロパティ

インデックスで指定されているメッセージに対して、メッセージが読まれたときの受信通知を要求するかどうかを指定します。このプロパティは、デザイン時には使えません。

構文

[form.]MapiMessages.MsgReceiptRequested[ = {True | False}]

解説

MsgReceiptRequested プロパティの設定値は次のとおりです。

設定値	内容

True	受信者がメッセージを開封したときに、発信者に受信通知が返されます。

False	(既定値) 受信通知は返されません。

MsgReceiptRequested プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

整数型 (ブール型)


MsgSent プロパティ

インデックスで指定されているメッセージがメール サーバーに送信されたかどうかを示します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。このプロパティは、メッセージを送信したときにメッセージ システムによって設定されます。

構文

[form.]MapiMessages.MsgSent

解説

MsgSent プロパティの設定値は次のとおりです。

設定値	内容

True	インデックスで指定されているメッセージは、既にメール サーバーに送信メッセージとして送られています。

False	インデックスで指定されているメッセージは、まだメール サーバーに送られていません。

MsgSent プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

整数型 (ブール型)


MsgSubject プロパティ

インデックスで指定されているメッセージのヘッダーに表示される件名を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.MsgSubject[ = string$]

解説

MsgSubject プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。MsgSubject プロパティに入れる文字列の長さは、Null 文字も含めて 64 バイトまでです。

データ型

文字列型 (String)


MsgType プロパティ

インデックスで指定されているメッセージの種類を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.MsgType[ = string$]

解説

MsgType プロパティは、個人間メール (種類が IPM のメッセージ) 以外のメッセージを操作するときに使います。ただし、IPM 以外の種類のメッセージをサポートしていないメール システムもあります。このようなパラメータを提供していないシステムや、この値を無視するシステムもあります。

Null 値または長さ 0 の文字列が設定されている場合は、メッセージ タイプは IPM です。MsgType プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。このプロパティは、送信者や受信時刻などの分類によって特定のメッセージだけを取り出すフィルタとして使うためのものではありません。

データ型

文字列型 (String)


RecipAddress プロパティ

インデックスで指定されている受信者の電子メール アドレスを指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.RecipAddress[ = string$]

解説

RecipAddress プロパティの値は、RecipIndex プロパティで指定されている受信者に応じて変わります。

データ型

文字列型 (String)


RecipCount プロパティ

インデックスで指定されているメッセージの受信者の数を返します。このプロパティは、デザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MapiMessages.RecipCount

解説

既定値は 0 です。RecipCount プロパティの値は、MsgIndex プロパティで指定されているメッセージに応じて変わります。

データ型

長整数型 (Long)


RecipDisplayName プロパティ

インデックスで指定されている受信者の名前を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.RecipDisplayName[ = string$]

解説

このプロパティで設定する名前は、メッセージのヘッダーで、受信者名として表示されます。RecipDisplayName プロパティの値は、RecipIndex プロパティで指定されている受信者に応じて変わります。ResolveName メソッドでは、このプロパティに保存された受信者名が使われます。

データ型

文字列型 (String)


RecipIndex プロパティ

受信者のインデックス番号を設定して、操作の対象となる受信者を指定します。このプロパティは、デザイン時には使えません。

構文

[form.]MapiMessages.RecipIndex[ = index&]

解説

メッセージの受信者を特定するためのインデックス番号を指定します。このプロパティに設定されたインデックス番号で、RecipAddress プロパティ、RecipCount プロパティ、RecipDisplayName プロパティ、RecipType プロパティの値が決まります。

RecipIndex プロパティに設定されている値をインデックス番号に持つ受信者のことを、“インデックスで指定されている”受信者と表現します。RecipIndex プロパティには、0 (既定値) ～ RecipCount プロパティの値 -1 の範囲の値を設定することができます。受信バッファで作業しているときに RecipIndex プロパティを -1 に設定すると、受信者に関するその他のプロパティには、メッセージの差出人の情報が設定されます。このプロパティの既定値は 0 です。

新しく受信者を追加するには、作成バッファで作業しているときに、RecipIndex プロパティに現在の受信者の数以上の値を設定してください。RecipCount プロパティは、自動的に追加後の受信者の数に更新されます。たとえば、RecipCount プロパティの値が 3 のときに RecipIndex プロパティを 4 に設定すると、2 人の受信者が新しく追加され、RecipCount プロパティの値は 5 になります。

既存の受信者を削除するには、Delete メソッドでパラメータ object を 1 に設定して実行してください。受信者の追加や削除は、MsgIndex プロパティが -1 に設定されているときにしか行えません。

データ型

長整数型 (Long)


RecipType プロパティ

インデックスで指定されている受信者の種類を指定します。このプロパティは、デザイン時には使えません。実行時には、値の取得および設定ともに可能ですが、MsgIndex プロパティが -1 以外のときは、値の取得のみ可能です。

構文

[form.]MapiMessages.RecipType[ = setting%]

解説

RecipType プロパティの設定値は次のとおりです。

設定値	内容

OrigList	メッセージの差出人

ToList	メインの受信者

CcList	コピーの受信者

BccList	ブラインド コピーの受信者

RecipType プロパティの値は、RecipIndex プロパティで指定されている受信者に応じて変わります。受信者の種類を 0 に設定することはできません。0 はメッセージ システムがメッセージの差出人を示すときに使います。

データ型

整数型 (Integer)


SessionID プロパティ (MAPI メッセージ コントロール)

作業中のメッセージ セッションのセッション ハンドルを格納します。このプロパティは、デザイン時には使えません。

構文

[form.]MapiMessages.SessionID[ = handle&]

解説

このプロパティには、MAPI セッション コントロールの SessionID プロパティに返されたメッセージ セッション ハンドルを格納します。MAPI メッセージ コントロールを有効なメッセージ セッションと関連付けるには、このプロパティに、サイン インが完了した MAPI セッション コントロールの SessionID プロパティの値を設定してください。

データ型

長整数型 (Long)


Compose メソッド

メッセージを作成します。

構文

[form.]MapiMessages.Compose

解説

このメソッドを実行すると、作成バッファ内の内容がすべてクリアされ、MsgIndex プロパティが -1 に設定されます。


Copy メソッド

インデックスで指定されているメッセージを作成バッファにコピーします。

構文

[form.]MapiMessages.Copy

解説

このメソッドを実行すると、MsgIndex プロパティは -1 に設定されます。


Delete メソッド

メッセージ、受信者または添付ファイルを削除します。

構文

[form.]MapiMessages.Delete [object As Integer]

解説

object に指定する値とそれに対する動作は次のとおりです。

値	内容

0、指定なし	インデックスで指定されているメッセージのすべての構成要素を削除します。MsgCount プロパティの値が 1 だけ小さくなり、削除したメッセージ以降のメッセージのインデックス番号が 1 ずつ小さくなります。

削除したメッセージがメッセージ セット内の最後のメッセージである場合、MsgIndex プロパティの値も 1 だけ小さくなります。

1	インデックスで指定されている受信者を削除します。同時に、RecipCount プロパティの値が 1 だけ小さくなり、削除した受信者以降の受信者のインデックス番号が 1 ずつ小さくなります。

削除した受信者が受信者セットの最後の受信者である場合、RecipIndex プロパティの値も 1 だけ小さくなります。

2	インデックスで指定されている添付ファイルを削除します。同時に、AttachmentCount プロパティの値が 1 だけ小さくなり、削除した添付ファイル以降の添付ファイルのインデックス番号が 1 ずつ小さくなります。

削除した添付ファイルが添付ファイル セットの最後の添付ファイルである場合、AttachmentIndex プロパティの値も 1 だけ小さくなります。


Fetch メソッド

受信トレイにある選択されたメッセージでメッセージ セットを作成します。

構文

[form.]MapiMessages.Fetch

解説

メッセージ セットには、受信トレイの中のメッセージのうち、FetchMsgType プロパティで指定されたタイプのメッセージがすべて含まれます。メッセージ セット内では、メッセージは、FetchSorted プロパティで指定された方法で並べられます。また FetchUnreadOnly プロパティが真 (True) に設定されているときは、未読メッセージだけがメッセージ セットに含まれます。

受信バッファ内の添付ファイルは、次にこのメソッドが実行されたときにすべて削除されます。


Forward メソッド

メッセージを転送します。

構文

[form.]MapiMessages.Forward

解説

このメソッドを実行すると、インデックスで指定されているメッセージが転送用として作成バッファにコピーされ、件名の先頭に“転:”の文字が追加されます。また、MsgIndex プロパティが -1 に設定されます。


Reply メソッド

送られてきたメッセージに対して返信します。

構文

[form.]MapiMessages.Reply

解説

このメソッドを実行すると、インデックスで指定されているメッセージが作成バッファにコピーされ、件名の先頭に“返:”の文字が追加されます。また、MsgIndex プロパティが -1 に設定されます。

インデックスで指定されているメッセージの差出人が、これから送信するメッセージの受信者になります。


ReplyAll メソッド

送られてきたメッセージの受信者全員に返信メッセージを送ります。

構文

[form.]MapiMessages.ReplyAll

解説

このメソッドを実行すると、インデックスで指定されているメッセージが作成バッファにコピーされ、件名の先頭に“返:”の文字が追加されます。また、MsgIndex プロパティが -1 に設定されます。

メッセージは、インデックスで指定されているメッセージの差出人と、“宛先:”および“CC:”で指定されている受信者全員に送られます。


ResolveName メソッド

インデックスで指定されている受信者の名前をアドレス帳で確認します。

構文

[form.]MapiMessages.ResolveName

解説

このメソッドを実行すると、アドレス帳からインデックスで指定されている受信者と一致する受信者が検索されます。一致する受信者が見つからない場合、エラーが返されます。メッセージの差出人の名前やアドレスに関する検索は行われません。

AddressResolveUI プロパティの設定によって、完全に一致する名前がない場合に指定した文字列を含む名前を表示するかどうかが決まります。

このメソッドを実行すると、RecipType プロパティの設定値が変わることがあります。


Save メソッド

作成バッファ内のメッセージを保存します。このときの MsgIndex プロパティの設定は -1 です。

構文

[form.]MapiMessages.Save


Send メソッド

メッセージを送信します。

構文

[form.]MapiMessages.Send [dialog As Integer]

解説

dialog に指定する値と、それに対応する動作は次のとおりです。

値	内容

True	ダイアログ ボックスを使ってメッセージを送ります。ユーザーにメッセージの各種構成要素の入力を要求してから、メッセージをメール サーバーに送信します。

作成バッファで作成したメッセージに関係するメッセージ プロパティはすべて、メッセージ ダイアログ ボックスを表示するときに初期値として使われます。ただし、ダイアログ ボックスで変更を加えても、作成バッファ内の情報は変更されません。

False、指定なし	ダイアログ ボックスを使わずに、送信メッセージをメール サーバーに送ります。受信者を指定しないでメッセージを送ろうとしたときや、添付ファイルが見つからないときは、エラーが発生します。


Show メソッド

メールの [アドレス帳] ダイアログ ボックス、またはインデックスで指定されている受信者の詳細情報を表示します。

構文

[form.]MapiMessages.Show [details As Integer]

解説

details に指定する値と、それに対応する動作は次のとおりです。

値	内容

True	インデックスで指定されている受信者の詳細情報を示すダイアログ ボックスを表示します。ダイアログ ボックスに表示される情報の量は、メッセージ システムによって異なります。受信者の名前とアドレスだけは必ず表示されます。

False、指定なし	メールの [アドレス帳] ダイアログ ボックスを表示します。アドレス帳では、受信者セットの作成や変更が行えます。作成バッファ以外で行ったアドレス帳への変更は、いっさい保存されません。


 マスク エデット コントロール

プロパティ	メソッド	イベント	定数

マスク エデット コントロールには、入力するデータを制限したり表示形式を指定してデータを出力する機能があります。このコントロールは、ツールボックスで次のようにアイコン表示されます。

ファイル名

MSMASK16.OCX、MSMASK32.OCX

クラス名

MaskEdBox

解説

マスク エデット コントロールは、標準のテキスト ボックス (TextBox) コントロールに、マスクによる入力と指定された表示形式による出力の拡張機能をオプションとして追加したものです。入力マスクを使わない場合は、DDE (Dynamic Data Exchange) 機能を除いて、標準のテキスト ボックス コントロールと同様に動作します。

Mask プロパティで入力マスクを定義すると、マスク エデット コントロールの各文字の位置に、指定した型のプレースホルダとリテラル文字が配置されます。リテラル文字によって、使われているデータの型が確認できます。たとえば、(206) のように電話番号の市外局番を囲むかっこはリテラル文字です。

入力マスクに適合しない文字を入力しようとすると、ValidationError イベントが発生します。入力マスクを使うと、コントロールに無効な文字は入力できません。

データ連結関連のプロパティ

マスク エデット コントロールには、DataChanged、DataField、DataSource の 3 つのデータ連結関連のプロパティがあり、このコントロールをデータ (Data) コントロールにリンクし、レコードセット内のカレント レコードのフィールド値を表示できます。また、マスク エデット コントロールでは、レコードセットに値を書き込むこともできます。

DataField プロパティの参照するフィールドの値が読み込まれると、可能な場合は、Text プロパティの文字列に変換されます。レコードセットが更新可能であれば、文字列はそのフィールドのデータ型に変換されます。

入力マスクが既に定義されているときに Text プロパティの値を消去するには、最初に Mask プロパティを長さ 0 の文字列に設定してから、Text プロパティを長さ 0 の文字列に設定する必要があります。

MaskedEdit1.Mask = ""

MaskedEdit1.Text = ""

入力マスクを定義すると、マスク エデット コントロールは標準のテキスト ボックス コントロールとは異なる状態で動作します。データを入力するかカーソルを移動すると、カーソルは自動的にリテラル文字をスキップします。

文字を挿入または削除すると、カーソルの右側にあるリテラル文字以外のすべての文字が移動します。この移動により Validation (無効な文字) エラーが起こる (入力マスクと適合しなくなる) 場合は、文字は挿入または削除されず、ValidationError イベントが発生します。

たとえば、Mask プロパティが“?###”として定義され、現在入力されている値が“A12”であるとします。文字“A”の前に文字“B”を挿入すると、“A”は右側に移動することになります。入力マスクの 2 番めの値は数値しか受け付けないので、文字“A”が原因となって ValidationError イベントが発生します。

また、マスク エデット コントロールは、実行時に Text プロパティの値を確認します。Text プロパティが入力マスクに適合しない値に設定されていると、実行時エラーが発生します。

マスク エデット コントロールでは、標準のテキスト ボックス コントロールの場合と同様に、テキストを選択できます。選択したテキストを削除すると、コントロールは残りの文字を右側へ移動します。ただし、この移動によって Validation (無効な文字) エラーの原因となるような文字は削除され、ValidationError イベントは発生しません。

一般に、マスク エデット コントロールで選択したテキストをコピーすると、リテラル文字を含む選択全体がクリップボードに転送されます。ClipMode プロパティを使うと、ユーザーが入力したデータのみをクリップボードに転送することができます。この場合、入力マスクの一部であるリテラル文字はコピーされません。


プロパティ

マスク エデット コントロールのプロパティは次のとおりです。アスタリスク (*) は、マスク エデット コントロールにのみ適用されるプロパティ、またはマスク エデットコントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*AllowPrompt	Enabled	HideSelection	SelLength
Appearance	Font	hWnd	SelStart
*AutoTab	FontBold	Index	*SelText
BackColor	FontItalic	Left	TabIndex
BorderStyle	FontName	*Mask	TabStop
*ClipMode	FontSize	*MaxLength	Tag
*ClipText	FontStrikethru	MouseIcon	*Text
Container	*FontUnderline	MousePointer	Top
DataChanged	ForeColor	Name	Visible
DataField	*Format	Object	WhatsThisHelpID
DataSource	*FormattedText	Parent	Width
DragIcon	Height	*PromptChar
DragMode	HelpContextID	*PromptInclude
マスク エデット コントロールでは、既定プロパティは Text プロパティです。


イベント

マスク エデット コントロールのイベントは次のとおりです。アスタリスク (*) は、マスク エデット コントロールにのみ適用されるイベント、またはマスク エデットコントロールと共に使う場合に特に注意が必要なイベントを示しています。

Change	GotFocus	KeyUp
DragDrop	KeyDown	LostFocus
DragOver	KeyPress	*ValidationError


メソッド

マスク エデット コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ShowWhatsThis
Move	SetFocus	ZOrder


AllowPrompt プロパティ

プロンプト文字 (入力を促すプロンプトに使う文字) が有効な入力文字かどうかを判別します。プロンプト文字は PromptChar プロパティで設定します。

構文

[form.]MaskedEdit.AllowPrompt [= {True | False}]

解説

AllowPrompt プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) プロンプト文字は無効です。プロンプト文字を入力すると、ValidationError イベントが発生します。

True	プロンプト文字は有効な入力文字です。

たとえば、プロンプト文字が 0 に設定されていて、5 桁の 0 ～ 9 の範囲の数字を使えるように、入力マスクに ##### を指定したとします。AllowPrompt プロパティが偽 (False) のときに 0 を入力すると、ValidationError イベントが発生します。AllowPrompt プロパティを真 (True) に設定すると、有効な入力文字として 0 を入力することができます。

データ型

整数型 (ブール型)


AutoTab プロパティ

マスク エデット コントロールの Text プロパティが有効なデータで満たされたときに、次のタブ オーダーのコントロールにフォーカスを移動するかどうかを決定します。Text プロパティの値が有効かどうかは Mask プロパティによって判別されます。

構文

[form.]MaskedEdit.AutoTab[ = {True | False}]

解説

Mask プロパティで定義したすべての文字がコントロールに入力され、各文字が有効であり、AutoTab プロパティが真 (True) に設定されているときにのみ、自動的にタブ処理が行われます。

設定値	内容

False	(既定値) 自動タブ処理はオフになっています。入力マスクで定義した数よりも多くの文字を入力しようとすると、ValidationError イベントが発生します。

True	自動タブ処理はオンになっています。入力マスクで定義したすべての文字を入力すると、フォーカスは次のコントロールに移動し、後続のすべての文字は次のコントロールによって処理されます。

コントロールに最後の有効な文字を入力すると、その文字が入力マスクのどの位置であっても、マスク エデット コントロールは満たされたものと見なされます。Mask プロパティが長さ 0 の文字列 ("") に設定されていると、このプロパティは無効です。

データ型

整数型 (ブール型)


ClipMode プロパティ

切り取りコマンドまたはコピー コマンドを実行するときに、入力マスクのリテラル文字を含むか、または除外するかを決定します。

構文

[form.]MaskedEdit.ClipMode [ = setting%]

解説

マスク エデット コントロールに使う ClipMode プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 切り取りコマンドまたはコピー コマンドの実行時にリテラル文字を含みます。

1	切り取りコマンドまたはコピー コマンドの実行時にリテラル文字を除外します。

Mask プロパティが長さ 0 の文字列 ("") に設定されていると、このプロパティは無効です。

データ型

整数型 (列挙型)


ClipText プロパティ

マスク エデット コントロールの、入力マスクのリテラル文字を除いたテキストを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MaskedEdit.ClipText

解説

このプロパティは、Mask プロパティが長さ 0 の文字列 ("") に設定されているときは、SelText プロパティと同じように機能します。

データ型

文字列型 (String)


FontUnderline プロパティ

マスク エデット コントロールに入力された文字に下線を付けるかどうかを設定します。マスク エデット コントロールではプロンプト文字の既定値として下線文字が設定されています。通常の動作時には、有効な文字を入力するとプロンプト文字である下線文字は消えます。このプロパティを真 (True) に設定すると、コントロールに入力した文字は下線付きのままです。

構文

[form.]MaskedEdit.FontUnderline[ = {True | False}]

解説

マスク エデット コントロールに使う FontUnderline プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) 有効な文字を入力すると、コントロールの下線付き文字は消えます。

True	入力した文字が下線付きになります。

データ型

整数型 (ブール型)


Format プロパティ

数値、日付、時刻、テキストを表示および印刷するときの表示形式を指定します。

構文

[form.]MaskedEdit.Format [ = posformat$; negformat$; zeroformat$; nullformat$]

パラメータ	内容

posformat$	正の値の表示形式を指定します。

negformat$	負の値の表示形式を指定します。

zeroformat$	値 0 の表示形式を指定します。

nullformat$	Null 値または Empty 値の表示形式を指定します。

解説

Format プロパティは、コントロールの内容を表示するために使う表示形式を定義します。Microsoft Visual Basic の Format$ 関数で定義したものと同じ表示形式を使えますが、定義済み書式 (たとえば "On/Off" など) は使えません。

このプロパティには、1 ～ 4 個のパラメータをセミコロンで区切って指定できます。指定していないパラメータがあると、最初のパラメータで指定した形式が使われます。複数のパラメータを指定する場合は、適切な数の区切り記号を使わなければなりません。たとえば、引数 posformat$ と引数 nullformat$ を指定するには、次の構文を使います。

[form.]MaskedEdit.Format = posformat$;;; nullformat$

ユーザーが利用できる標準的な表示形式の例を示します。有効な Format$ 式であれば任意に定義することができます。

データ型	値	説明

Number	(既定値) 空白文字列	一般数値形式。入力するとおりに表示されます。

Number	$#,##0.00;($#,##0.00)	通貨形式。1,000 単位の区切り記号を使います。負の数値はかっこに囲まれて表示されます。

Number	0	固定数値形式。少なくとも 1 桁が表示されます。

Number	#,##0	カンマ形式。1,000 単位の区切り記号としてカンマを使います。

Number	0%	パーセント形式。値を 100 で乗算してパーセント記号を付け加えます。

Number	0.00E+00	科学形式。標準科学表記法を使います。

Date/Time	(既定値) c	汎用日付/時刻形式。日付、時刻、またはその両方が表示されます。

Date/Time	dddddd	Long Date 形式。Microsoft Windows コントロール パネルの [各国対応] セクションの Long Date の設定値と同じです。例：1992年5月26日火曜日。

Date/Time	dd-mmm-yy	Medium Date 形式。例： 26-May-92。

Date/Time	ddddd	Short Date 形式。Microsoft Windows コントロール パネルの [各国対応] セクションの Short Date の設定値と同じです。例： 5/26/92。

Date/Time	ttttt	Long Time 形式。Microsoft Windows コントロール パネルの [各国対応] セクションの Time の設定値と同じです。例： 05:36:17 A.M.

Date/Time	hh:mm AM/PM	Medium Time 形式。例： 05:36 A.M.

Date/Time	hh:mm	Short Time 形式。例： 05:36。

データ型

文字列型 (String)


FormattedText プロパティ

このプロパティの値は、コントロールにフォーカスがないときに、マスク エデット コントロールに表示される文字列と同じです。このプロパティは、実行時には値の取得のみ可能です。

構文

[form.]MaskedEdit.FormattedText

解説

Format プロパティに長さ 0 の文字列 ("") を指定した場合、Text プロパティと同じですが、この Format プロパティは値の取得のみ可能です。HideSelection プロパティを偽 (False) に設定すると、コントロールにフォーカスがないときでも、書式付きテキストによる表示はされません。このプロパティを参照することにより、書式付きテキストを取得できます。

データ型

文字列型 (String)


Mask プロパティ

マスク エデット コントロールの入力マスクを決定します。

構文

[form.]MaskedEdit.Mask [ = string$]

解説

入力マスクはデザイン時と実行時に定義することができます。デザイン時には、以下の標準定義済み入力マスクを利用することができます。

マスク	内容

Null 文字列	(既定値) マスクは機能しません。標準のテキスト ボックスと同様に機能します。

##年##月##日	長い形式の日付。例 : 92年05月20日。

##-##-##	短い形式の日付。例 : 92-05-20。

##:## ??	12 時間制の時刻。例 : 05:36 AM。

##:##	24 時間制の時刻。例 : 17:23。

入力マスクは、以下の文字で構成することができます。

マスク文字	内容

#	0 ～ 9 の範囲の半角の数字。入力を省略すると ValidationError イベントが発生します。プラス記号とマイナス記号は使えません。全角の数字を入力した場合は、半角の数字に変換されます。

9	0 ～ 9 の範囲の半角の数字、またはスペース。入力は省略可能です。プラス記号とマイナス記号も使えます。全角の数字を入力した場合は、半角の数字に変換されます。

&	半角の数字、文字またはスペース。入力を省略すると ValidationError イベントが発生します。

&&	全角の数字、文字またはスペース。入力を省略すると ValidationError イベントが発生します。半角の数字または文字を 2 つ入力することもできます。

C	半角の文字、数字またはスペース。入力は省略可能です。

CC	全角の数字、文字またはスペース。入力は省略可能です。半角の数字または文字を 2 つ入力することもできます。

A	0 ～ 9 の範囲の半角の数字、あるいは a ～ z または A ～ Z の範囲の半角の文字。入力は省略できません。全角の数字または文字を入力した場合は、半角に変換されます。

a	0 ～ 9 の範囲の半角の数字、あるいは a ～ z または A ～ Z の範囲の半角の文字。入力は省略可能です。全角の数字または文字を入力した場合は、半角に変換されます。

?	a ～ z、または A ～ Z の範囲の半角の文字。入力は省略できません。全角の文字を入力した場合は、半角に変換されます。

>	このマスク文字の後に入力された文字を大文字に変換します。全角文字は変換されません。

<	このマスク文字の後に入力された文字を小文字に変換します。全角文字は変換されません。

.	小数点の区切り記号。実際には、国際規定によって小数点の区切り記号に指定されている文字が使用されます。この文字は、入力マスクのリテラル文字として扱われます。

,	1,000 の桁の区切り記号。実際には、国際規定によって 1,000 の桁の区切り記号に指定されている文字が使用されます。この文字は、入力マスクのリテラル文字として扱われます。

:	時刻の区切り記号。実際には、国際規定によって時刻の区切り記号に指定されている文字が使用されます。この文字は、入力マスクのリテラル文字として扱われます。

/	日付の区切り記号。実際には、国際規定によって日付の区切り記号に指定されている文字が使用されます。この文字は、入力マスクのリテラル文字として扱われます。

\	次に入力する文字を入力マスクのリテラル文字として扱います。これによって、“#”、“&”、“A”、“9”、“a”、“C”、“<”、“>”、および“?”を入力マスクの文字に含むことができます。この文字は、入力マスクのリテラル文字として扱われます。

リテラル文字	他のすべての記号がリテラル文字、つまり本来の記号として表示されます。

Mask プロパティの値が長さ 0 の文字列 ("") であれば、マスク エデット コントロールは標準のテキスト ボックス (TextBox) コントロールと同様に動作します。入力マスクを定義すると、マスクのすべてのプレースホルダの下にアンダスコア (_) が表示されます。プレースホルダは、入力マスクで指定したものと同じ型の文字にしか置き換えることができません。無効な文字を入力すると、その文字は拒否され、ValidationError イベントが発生します。

注   マスク エデット コントロールの入力マスクが定義されている場合、マスク エデット コントロールに無効な文字が入っていると、ValidationError イベントが発生します。また入力を省略できないマスク文字が定義されている場合は、入力を省略して別のコントロールにタブで移動しようとするときに ValidationError イベントが発生します。

データ型

文字型 (String)


MaxLength プロパティ

マスク エデット コントロールに入力できる文字数の最大値を設定します。値の取得も可能です。

構文

[form.]MaskedEdit.MaxLength [ = setting%]

解説

マスク エデット コントロールの入力フィールドには、最大 64 文字まで入力することができます。このプロパティの有効範囲は 1 ～ 64 です。既定値は、入力マスクのリテラル文字を含めて 64 文字です。

指定した文字数を超える数の文字を入力すると、警告音が鳴ります。

データ型

整数型 (Integer)


PromptChar プロパティ

入力を促すプロンプトに使う文字を設定します。値の取得も可能です。

構文

[form.]MaskedEdit.PromptChar [ = char$]

解説

このプロパティの既定値は、アンダスコア (_) です。PromptChar プロパティは 1 文字しか設定できません。

Text プロパティにプロンプト文字を入れるかどうかを指定するには、PromptInclude プロパティを使います。

データ型

文字列型 (String)


PromptInclude プロパティ

Text プロパティにプロンプト文字を入れるかどうかを指定します。プロンプト文字の値を変更するには、PromptChar プロパティを使います。

構文

[form.]MaskedEdit.PromptInclude [ = { True | False }]

解説

マスク エデット コントロールに使う PromptInclude プロパティの設定値は次のとおりです。

設定値	内容

False	Text プロパティの値には、プロンプト文字が入ります。

True	(既定値) Text プロパティの値には、プロンプト文字は入りません。

マスク エデット コントロールがデータ (Data) コントロールに連結されている場合、PromptInclude プロパティは、連結された Text プロパティをデータ コントロールがどのように読み込むかに影響を与えます。PromptInclude プロパティが偽 (False) であれば、データ コントロールは Text プロパティのリテラル文字またはプロンプト文字を無視します。この場合、データ コントロールがマスク エデット コントロールから取得する値は、ClipText プロパティの値と同じです。

PromptInclude プロパティが真 (True) であれば、データ コントロールは格納するデータ値として Text プロパティの値をそのまま使います。

データ型

整数型 (ブール型)


SelText プロパティ (マスク エデット コントロール)

マスク エデット コントロールの入力フィールドで選択されている文字列を返します。デザイン時には使えません。実行時には値の取得および設定ともに可能です。

構文

[form.]MaskedEdit.SelText[ = string$]

解説

マスク エデット コントロールの入力マスクを定義しなければ、SelText プロパティは標準のテキスト ボックス (TextBox) コントロールの SelText プロパティと同様に動作します。

入力マスクを定義し、マスク エデット コントロールで文字列を選択すると、SelText プロパティは文字列を取得します。ClipMode プロパティの値によっては、選択した文字列のすべての文字が返されるとは限りません。ClipMode プロパティがオンであれば、返される文字列にリテラル文字は含まれません。

SelText プロパティを設定すると、マスク エデット コントロールは文字列をクリップボードから貼り付けた場合と同様に動作します。これは、引数 string$ の各文字が、ユーザー入力の場合と同様にコントロールに入力されることを意味します。

データ型

文字列型 (String)


Text プロパティ (マスク エデット コントロール)

マスク エデット コントロールの入力フィールドに文字列を設定します。値の取得も可能です。このプロパティは、デザイン時には使えません。

構文

[form.]MaskedEdit.Text[ = string$]

解説

このプロパティは、入力マスクの一部であるリテラル文字とプロンプト文字を含む、マスク エデット コントロールの文字列を設定または取得できます。Text プロパティを設定する場合、引数 string$ の値は、リテラル文字とプロンプト文字を含み、入力マスクの文字と正確に一致しなければなりません。

注   ClipMode プロパティの設定値は、Text プロパティの値には影響を与えません。

SelText プロパティを使うと、マスク エデット コントロールで文字列を簡単に設定することができます。

データ型

バリアント型 (Variant)


ValidationError イベント

マスク エデット コントロールの入力フィールドに、入力マスクに無効な入力が行われると発生します。

構文

Private Sub ctlname_ValidationError(InvalidText As String; StartPosition As Integer)

解説

引数 InvalidText は Text プロパティの値で、無効な文字も含みます。つまり、入力マスクに使われているすべてのプレースホルダとリテラル文字が引数 InvalidText に含まれることを意味します。

引数 StartPosition は、引数 InvalidText でエラーが発生した位置 (最初の無効な文字) です。


 マルチメディア MCI コントロール

関連項目	プロパティ	メソッド	イベント	定数	エラー メッセージ

マルチメディア MCI コントロールは、メディア コントロール インターフェイス (MCI) デバイスでのマルチメディア ファイルの再生、録音や録画などを制御します。このコントロールにはいくつかのボタンが用意されており、オーディオ ボード、MIDI シーケンサ、CD-ROM ドライバ、オーディオ CD プレーヤー、ビデオディスク プレーヤー、ビデオテープ レコーダー、およびビデオテープ プレーヤなどのハードウェアを制御するデバイス ドライバに MCI コマンドを送ります。また、マルチメディア MCI コントロールは Video for Windows のファイル (*.AVI) の再生をサポートしています。

デザイン時に、フォームにマルチメディア MCI コントロールを配置すると、次のコントロールがフォームに表示されます。

各ボタンの名前は左から、[Prev]、[Next]、[Play]、[Pause]、[Back]、[Step]、[Stop]、[Record]、[Eject] と定義されています。

ファイル名

MCI16.OCX、MCI32.OCX

クラス名

MMControl

解説

このコントロールを使うには、MCI 規格に準拠したハードウェア、対応するデバイス ドライバなどが必要です。

MCI デバイスを開き、マルチメディア MCI コントロールの適切なボタンを有効に設定すると、そのボタンの機能を使うことができるようになります。

作成したアプリケーションでは、マルチメディア MCI コントロールのボタンが選択された時点で、既に MCI デバイスを開き、マルチメディア MCI コントロールの適切なボタンを使用できる状態にする必要があります。デバイスを開くには、Form_Load プロシージャに Open コマンドを追加します。マルチメディア MCI コントロールを使って録音や録画を行うときは、新しくファイルを開きます。これによって、録音または録画されたデータを格納するファイルの形式がデバイスと互換性のあるものになります。MCI デバイスを閉じる前に Save コマンドを実行して、データをファイルに保存します。

マルチメディア MCI コントロールでは、次のようなことが可能です。

コントロールの表示/非表示を実行時に設定できます。

コントロールのボタンをそのまま使うことも、ボタンの機能を再定義することもできます。

1 つのフォームで複数のデバイスを制御できます。

マルチメディア MCI コントロールのボタンを使用するには、Visible プロパティおよび Enabled プロパティを真 (True) に設定します。マルチメディア MCI コントロールのマルチメディア機能のみを使用する場合は、Visible プロパティおよび Enabled プロパティを偽 (False) に設定します。アプリケーションでは、ユーザーの操作と関係なく MCI デバイスを制御することができます。

マルチメディア MCI コントロールの各ボタンに定義されているイベントはコードを記述して操作できます。各ボタンの機能を拡張または再定義するには、これらのイベントのコードを書き換えます。

1 つのフォームで複数のマルチメディア MCI コントロールを使用して、複数の MCI のデバイスを同時に制御できます。各デバイスに個別のコントロールを使用してください。

配布時の注意   マルチメディア MCI コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


関連項目

マルチメディア MCI とは

マルチメディア MCI コントロールの例


マルチメディア MCI とは

マルチメディア MCI コントロールは、サウンド カードや CD-ROM などのデバイスを制御するためのコマンドの集まりです。これらのコマンドはデバイスに依存しません。マルチメディア MCI 機能を使うには、次の手順で行います。

1.	再生または録音や録画などを行うファイルを指定し、Open コマンドを使って MCI デバイスを開きます。CD オーディオを再生するような場合はファイルを使わないので、ファイル名を指定する必要はありません。

2.	必要な MCI コマンド (Prev、Next、Pause など) を実行します。

3.	Close コマンドを実行して、MCI デバイスとファイルを閉じます。制御はシステム リソースに戻ります。

マルチメディア MCI コントロールでサポートされている MCI コマンドについては、Command プロパティを参照してください。マルチメディア MCI コントロールの詳細については、Microsoft Windows ソフトウェア開発キットの『マルチメディア プログラマーズ ガイド』または『マルチメディア プログラマーズ リファレンス』を参照してください。


マルチメディア MCI コントロールの例

次のプログラムでは、マルチメディア MCI コントロールを使って、WaveAudio デバイスを開きます。これによって、マルチメディア ファイル GONG.WAV の再生などを行うことができるようになります。この例を実行するには、まず新規にフォームを作成し、そのフォーム上にマルチメディア MCI コントロールを配置してください。

Private Sub Form_Load ()

' MCI デバイスを開くときに必要なプロパティを設定します。

Form1.MMControl1.Notify = False

Form1.MMControl1.Wait = True

Form1.MMControl1.Shareable = False

Form1.MMControl1.DeviceType = "WaveAudio"

Form1.MMControl1.FileName = "C:\WINDOWS\MMDATA\GONG.WAV"

' WaveAudio デバイスを開きます。

Form1.MMControl1.Command = "Open"

End Sub

マルチメディアのリソースを適切に操作するには、アプリケーションを終了する前に開いている MCI のデバイスをすべて閉じる必要があります。次のコードを Form_Unload プロシージャに記述すると、マルチメディア MCI カスタム コントロールを含むフォームを終了する前に、開いている MCI デバイスを閉じることができます。

Private Sub Form_Unload (Cancel As Integer)

MMControl1.Command = "Close"

End Sub


プロパティ

マルチメディア MCI コントロールのプロパティは次のとおりです。アスタリスク (*) は、マルチメディア MCI コントロールにのみ適用されるプロパティ、またはマルチメディア MCI コントロールと共に使う場合に特に注意が必要なプロパティを示しています。プロパティ名が Button で始まるプロパティの Button の部分には各ボタン名 (Back、Eject、Next、Pause、Play、Prev、Record、Step、Stop) が入ります。

*AutoEnable	*Error	Name	*TimeFormat
BorderStyle	*ErrorMessage	*Notify	*To
*ButtonEnabled	*FileName	*NotifyMessage	Top
*ButtonVisible	*Frames	*NotifyValue	*Track
*CanEject	*From	Object	*TrackLength
*CanPlay	Height	*Orientation	*TrackPosition
*CanRecord	HelpContextID	Parent	*Tracks
*CanStep	hWnd	*Position	*UpdateInterval
*Command	*hWndDisplay	*RecordMode	*UsesWindows
Container	Index	*Shareable	*Visible
*DeviceID	Left	*Silent	*Wait
*DeviceType	*Length	*Start	WhatsThisHelpID
DragIcon	*Mode	TabIndex	Width
DragMode	MouseIcon	TabStop
*Enabled	MousePointer	Tag
注   DragIcon、DragMode、HelpContextID、および Index の各プロパティは、Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに対応しています。


イベント

マルチメディア MCI コントロールのイベントは次のとおりです。アスタリスク (*) は、マルチメディア MCI コントロールにのみ適用されるイベント、またはマルチメディア MCI コントロールと共に使う場合に特に注意が必要なイベントを示しています。

イベント名が Button で始まるイベントの Button の部分には各ボタン名 (Back、Eject、Next、Pause、Play、Prev、Record、Step、Stop) が入ります。

*ButtonClick	*ButtonGotFocus	*Done	DragOver
*ButtonCompleted	*ButtonLostFocus	DragDrop	*StatusUpdate


メソッド

マルチメディア MCI コントロールに適用されるメソッドは次のとおりです。

Drag	Refresh	ShowWhatsThis
Move	SetFocus	ZOrder
注   Drag、SetFocus、および ZOrder の各メソッドは Microsoft Visual Basic でのみ使用できます。


AutoEnable プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンの有効/無効の設定を自動的に行うかどうかを指定します。AutoEnable プロパティを真 (True) に設定すると、MCI デバイスの現在のモードに応じて、各ボタンの有効/無効が自動的に設定されます。MCI デバイスの現在のモードでサポートされていないボタンは無効になります。

構文

[form.]MMControl.AutoEnable[ = {True | False}]

解説

AutoEnable プロパティの設定よりも Enabled プロパティの設定が優先します。つまり、AutoEnable プロパティを使ってボタンの有効/無効を自動的に設定できるのは、Enabled プロパティが真 (True) に設定されているときだけです。Enabled プロパティが偽 (False) に設定されているときは、AutoEnable プロパティの設定に関係なく、マルチメディア MCI コントロールは無効になります。

AutoEnable プロパティの設定値は次のとおりです。

設定値	内容

False	ボタンの有効/無効は自動的には設定されません。ButtonEnabled プロパティを使って、各ボタンに有効/無効を設定します。

True	(既定値) MCI デバイスのモードに応じて、ボタンの有効/無効が自動的に設定されます。

AutoEnable プロパティを真 (True) に設定したとき、各ボタンが有効または無効のどちらになるかは、MCI デバイスのモードによって異なります。各モードにおけるボタンの有効/無効は次のとおりです。

Play モード

Record モード

Pause モード

Stop モード

Open モード

Seek および Not Ready モード

AutoEnable プロパティの設定は、ButtonEnabled プロパティの設定よりも優先します。Enabled プロパティと AutoEnable プロパティの両方を真 (True) に設定している場合は、ButtonEnabled プロパティの設定は無効です。

データ型

整数型 (ブール型)


Play モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされている場合のみ有効になります。

ボタン	状態

Back *	有効

Eject *	有効

Next	有効

Pause	有効

Play *	無効

Prev	有効

Record *	無効

Step*	有効

Stop	有効


Record モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされている場合のみ有効になります。

ボタン	状態

Back *	有効

Eject *	有効

Next	有効

Pause	有効

Play *	無効

Prev	有効

Record *	無効

Step *	有効

Stop	有効


Pause モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされている場合のみ有効になります。

ボタン	状態

Back *	有効

Eject *	有効

Next	有効

Pause	有効

Play *	有効

Prev	有効

Record *	有効

Step *	有効

Stop	有効


Stop モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされている場合のみ有効になります。

ボタン	状態

Back *	有効

Eject *	有効

Next	有効

Pause	無効

Play *	有効

Prev	有効

Record *	有効

Step *	有効

Stop	無効


Open モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされているときのみ有効になります。

ボタン	状態

Back *	無効

Eject *	有効

Next	無効

Pause	無効

Play *	無効

Prev	無効

Record *	無効

Step *	無効

Stop	無効


Seek および Not Ready モード

アスタリスク (*) が付いているボタンは、MCI デバイスでその動作がサポートされているときのみ有効になります。

ボタン	状態

Back *	無効

Eject *	無効

Next	無効

Pause	無効

Play *	無効

Prev	無効

Record *	無効

Step *	無効

Stop *	無効


ButtonEnabled プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンの有効/無効を設定します。

構文

[form.]MMControl.ButtonEnabled[ = {True | False}]

解説

ButtonEnabled プロパティの設定よりも、Enabled プロパティおよび AutoEnable プロパティの設定が優先します。ButtonEnabled プロパティで各ボタンの有効/無効を設定できるのは、Enabled プロパティが真 (True) に設定されていて、AutoEnable プロパティが偽 (False) に設定されている場合だけです。

このプロパティはマルチメディア MCI コントロールの各ボタンに定義されており、プロパティ名の Button の部分には Back、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。

ButtonEnabled プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) Button で指定するボタンを無効にします。

True	Button で指定するボタンを有効にします。

データ型

整数型 (ブール型)


ButtonVisible プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンの表示/非表示を設定します。

構文

[form.]MMControl.ButtonVisible[ = {True | False}]

解説

ButtonVisible プロパティの設定よりも Visible プロパティの設定が優先します。ButtonVisible プロパティで各ボタンの表示/非表示を設定できるのは、Visible プロパティが真 (True) に設定されている場合だけです。Visible プロパティが偽 (False) の場合はすべてのボタンが非表示になります。

このプロパティはマルチメディア MCI コントロールの各ボタンに定義されており、プロパティ名の Button の部分には Back、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。

ButtonVisible プロパティの設定値は次のとおりです。

設定値	内容

False	Button で指定するボタンを非表示にします。

True	(既定値) Button で指定するボタンを表示します。

データ型

整数型 (ブール型)


CanEject プロパティ (マルチメディア MCI コントロール)

MCI デバイスにメディアをイジェクトする機能があるかどうかを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.CanEject

解説

CanEject プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) メディアをイジェクトできません。

True	メディアをイジェクトできます。

Open コマンドを実行すると、MCI デバイスにメディアをイジェクトする機能があるかどうかが MCI_GETDEVCAPS コマンドを使ってチェックされ、その結果が CanEject プロパティに返されます。

データ型

整数型 (ブール型)


CanPlay プロパティ (マルチメディア MCI コントロール)

MCI デバイスに再生する機能があるかどうかを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.CanPlay

解説

CanPlay プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) 再生できません。

True	再生できます。

Open コマンドを実行すると、MCI デバイスに再生する機能があるかどうかが MCI_GETDEVCAPS コマンドを使ってチェックされ、その結果が CanPlay プロパティに返されます。

データ型

整数型 (ブール型)


CanRecord プロパティ (マルチメディア MCI コントロール)

MCI デバイスに録音や録画を行う機能があるかどうかを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.CanRecord

解説

CanRecord プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) 録音や録画を行うことができません。

True	録音や録画を行うことができます。

Open コマンドを実行すると、MCI デバイスに録音や録画を行う機能があるかどうかが MCI_GETDEVCAPS コマンドを使ってチェックされ、その結果が CanRecord プロパティに返されます。

データ型

整数型 (ブール型)


CanStep プロパティ (マルチメディア MCI コントロール)

MCI デバイスにフレーム再生 (コマ送り) を行う機能があるかどうかを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.CanStep

解説

CanStep プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) フレーム再生をサポートしません。

True	フレーム再生をサポートします。

フレーム再生をサポートしているのは、MMMovie、Overlay、VCR MCI の各デバイスだけです。デバイスがフレーム再生をサポートするかどうかを調べる機能はありませんが、Open コマンドを実行するときに、デバイス タイプが MMMovie、Overlay、VCR MCI のいずれかをチェックして、その結果が CanStep プロパティに返されます。

データ型

整数型 (ブール型)


Command プロパティ (マルチメディア MCI コントロール)

MCI コマンドの種類を指定して実行します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.Command[ = cmdstring$]

解説

引数 cmdstring$ で、実行する MCI コマンド (Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound、Save のいずれか) を指定します。指定したコマンドはすぐに実行されます。コマンド実行中にエラーが発生したときは、そのエラー コードが Error プロパティに返されます。

それぞれの MCI コマンドと、そのコマンドで使うプロパティは次のとおりです。プロパティを設定しないでコマンドを実行すると、既定値 (かっこ内の値) が示されているプロパティはその既定値が使われ、既定値が示されていないプロパティは使われません。

コマンド	内容/プロパティ

Open	MCI_OPEN コマンドを使ってデバイスを開きます。

Notify (False)
Wait (True)
Shareable
DeviceType
FileName

Close	MCI_CLOSE コマンドを使ってデバイスを閉じます。

Notify (False)
Wait (True)

Play	MCI_PLAY コマンドを使ってデバイスを再生します。

Notify (True)
Wait (False)
From
To

Pause	MCI_PLAY コマンドを使って、再生または録音や録画を一時停止します。デバイスが一時停止しているときに Pause コマンドを実行すると、MCI_RESUME コマンドを使って、再生または録音や録画が再開されます。

Notify (False)
Wait (True)

Stop	MCI_STOP コマンドを使って、再生、録音や録画を停止します。

Notify (False)
Wait (True)

Back	MCI_STEP コマンドを使って、逆方向にフレーム再生します。

Notify (False)
Wait (True)
Frames

Step	MCI_STEP コマンドを使って、順方向にフレーム再生します。

Notify (False)
Wait (True)
Frames

Prev	Seek コマンドを使って、カレント トラックの先頭に移動します。Prev コマンドを実行した後、3 秒以内に再び Prev コマンドを実行すると、前のトラックの先頭 (カレント トラックが先頭トラックの場合は、そのトラックの先頭) に移動します。

Notify (False)
Wait (True)

Next	Seek コマンドを使って、次のトラックの先頭 (カレント トラックが最終トラックの場合は、そのトラックの先頭) に移動します。

Notify (False)
Wait (True)

Seek	再生を行っていない場合は、MCI_SEEK コマンドを使って位置を検索します。再生中は、MCI_PLAY コマンドを使って指定した位置から再生を続けます。

Notify (False)
Wait (True)
To

Record	MCI_RECORD コマンドを使って、録音や録画を実行します。

Notify (True)
Wait (False)
From
To
RecordMode (0-Insert)

Eject	MCI_SET コマンドを使って、メディアをイジェクトします。

Notify (False)
Wait (True)

Sound	MCI_SOUND コマンドを使って、音を鳴らします。

Notify (False)
Wait (False)
FileName

Save	MCI_SAVE コマンドを使って、現在開いているファイルを保存します。

Notify (False)
Wait (True)
FileName

データ型

文字列型 (String)


DeviceID プロパティ (マルチメディア MCI コントロール)

現在開いている MCI デバイスのデバイス ID を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.DeviceID[ = id%]

解説

引数 id% で現在開いている MCI デバイスのデバイス ID を指定します。Open コマンド (MCI_OPEN コマンド) を実行して MCI デバイスを開くと、そのデバイス ID が DeviceID プロパティに返されます。開いているデバイスがない場合は、このプロパティの値は 0 になります。

データ型

整数型 (Integer)


DeviceType プロパティ (マルチメディア MCI コントロール)

MCI デバイスのデバイス タイプを指定します。

構文

[form.]MMControl.DeviceType[ = device$]

解説

引数 device$ で、MCI デバイスのデバイス タイプを指定します。

単純デバイス (CD プレーヤなどのようにファイルを使わないデバイス) を開く場合は、このプロパティでデバイス タイプを指定する必要があります。また、ファイルの拡張子でデバイスを識別できない場合に複合 MCI デバイスを開くときも、このプロパティを設定する必要があります。

DeviceType プロパティの設定値は次のとおりです。

設定値	内容

AVI Video	Video for Windows の動画

CDAudio	オーディオ CD プレーヤ (CD-ROM)

DAT	デジタル オーディオ テープ プレーヤ

DigitalVideo	ウィンドウ内のデジタル ビデオ

MMMovie	マルチメディア ムービー

Other	定義されていない MCI デバイス

Overlay	オーバーレイ デバイス (ウィンドウ内のアナログ ビデオ)

Scanner	イメージ スキャナ

Sequencer	MIDI シーケンサ

VCR	ビデオテープ レコーダ

Videodisc	ビデオディスク プレーヤ

WaveAudio	ウェーブフォーム ファイルを再生するオーディオ デバイス

データ型

文字列型 (String)


Enabled プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールが、ユーザーの操作で発生したイベントを認識するかどうかを設定します。

構文

[form.]MMControl.Enabled[ = {True | False}]

解説

このプロパティを使うと、マルチメディア MCI コントロールの有効/無効を実行時に設定できます。Enabled プロパティの設定は、AutoEnable プロパティおよび ButtonEnabled プロパティの設定よりも優先します。Enabled プロパティが偽 (False) に設定されている場合は、AutoEnable プロパティおよび ButtonEnabled プロパティの設定に関係なく、マルチメディア MCI コントロールは無効になります。

マルチメディア MCI コントロールに使う Enabled プロパティの設定値は次のとおりです。

設定値	内容

False	マルチメディア MCI コントロールのすべてのボタンが無効になります。

True	(既定値) マルチメディア MCI コントロールが有効になります。AutoEnable プロパティを使うと、各ボタンの有効/無効を自動的に設定できます。各ボタンの有効/無効を個別に設定する場合は、ButtonEnabled プロパティを使います。

データ型

整数型 (ブール型)


Error プロパティ (マルチメディア MCI コントロール)

直前に実行した MCI コマンドのエラー コードを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Error

解説

MCI コマンドでエラーが発生していない場合は、0 が返されます。

データ型

整数型 (Integer)


ErrorMessage プロパティ (マルチメディア MCI コントロール)

Error プロパティで示されるエラー コードの内容を示す文字列を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.ErrorMessage

データ型

文字列型 (String)


FileName プロパティ (マルチメディア MCI コントロール)

Open コマンドまたは Save コマンドで操作の対象となるファイルを指定します。

構文

[form.]MMControl.FileName[ = stringexpression$]

解説

引数 stringexpression$ で、対象となるファイル名を指定します。

データ型

文字列型 (String)


Frames プロパティ (マルチメディア MCI コントロール)

Step コマンドまたは Back コマンドで、順方向または逆方向にフレーム再生する場合のフレーム数を指定します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.Frames[ = frames&]

解説

引数 frames& で順方向または逆方向に進むフレーム数を指定します。

データ型

長整数型 (Long)


From プロパティ (マルチメディア MCI コントロール)

Play コマンドまたは Record コマンドで、再生あるいは録音や録画を行う場合の開始位置を指定します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.From[ = location&]

解説

引数 location& で、再生あるいは録音や録画の開始位置を指定します。開始位置の指定は、TimeFormat プロパティで設定する時刻形式を使って行います。

From プロパティで設定した開始位置は、次の MCI コマンドだけに適用されます。それ以降の MCI コマンドでは、From プロパティで値を設定し直すまで、このプロパティの設定は無効です。

データ型

長整数型 (Long)


hWndDisplay プロパティ (マルチメディア MCI コントロール)

ウィンドウを使って出力を表示する MMMovie デバイスまたは Overlay デバイスで、出力を表示するウィンドウを返します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.hWndDisplay

解説

このプロパティは、MCI デバイスが出力を表示する場合に使うウィンドウのハンドルを表します。ハンドルが 0 のときは、既定のウィンドウを使うことを示します。

MCI デバイスが出力を表示する場合にウィンドウを使うかどうかを調べるには、UsesWindows プロパティを使います。

コントロールのハンドルを取得するには、SetFocus メソッドを使って目的のコントロールにフォーカスを移してから、Windows API の GetFocus 関数を呼び出します。詳細については、『プログラミング ガイド』の「第 26 章 DLL 内のプロシージャの呼び出し」を参照してください。

フォームのハンドルを取得するには、そのフォームの hWnd プロパティの値を調べます。

データ型

整数型 (Integer)


Length プロパティ (マルチメディア MCI コントロール)

MCI デバイスのメディアの長さを現在設定されている時刻形式で返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Length

データ型

長整数型 (Long)


Mode プロパティ (マルチメディア MCI コントロール)

MCI デバイスの現在の状態を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Mode

解説

Mode プロパティの設定値は次のとおりです。

定数	値	内容

mciNotOpen	524	デバイスは開らかれていません。

mciStop	525	デバイスは停止しています。

mciPlay	526	デバイスは再生しています。

mciRecord	527	デバイスは録音や録画を行っています。

mciSeek	528	デバイスはシークしています。

mciPause	529	デバイスは一時停止しています。

mciReady	530	デバイスは再生準備ができています。

データ型

長整数型 (Long)


Notify プロパティ (マルチメディア MCI コントロール)

次の MCI コマンドで、MCI 通知サービスを使うかどうかを設定します。このプロパティを真 (True) に設定すると、次の MCI コマンドの実行が終了したときに、コールバック イベント (Done) が発生します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.Notify[ = {True | False}]

解説

Notify プロパティの設定値は次のとおりです。

設定値	内容

False	(既定値) 次の MCI コマンドの実行が終了したときに Done イベントは発生しません。

True	次の MCI コマンドの実行が終了したときに Done イベントが発生します。

このプロパティで設定した値は、次の MCI コマンドに対してのみ適用されます。それ以降の MCI コマンドでは、Notify プロパティで値を設定し直すまで、このプロパティの設定は無効です。

注   前のコマンドで設定されたコールバック条件を満たさない新しいコマンドを送ると、通知メッセージは送られません。たとえば、Resume コマンドをサポートしていないデバイスで一時停止している場合、再開するには Play コマンドを使う必要があります。しかし、Play コマンドはコールバック条件を満たさないので、コマンドの実行が終了しても Done イベントは発生しません。

データ型

整数型 (ブール型)


NotifyMessage プロパティ (マルチメディア MCI コントロール)

Done イベントが発生した場合の通知コードの内容を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.NotifyMessage

データ型

文字列型 (String)


NotifyValue プロパティ (マルチメディア MCI コントロール)

通知メッセージを要求した最後の MCI コマンドの実行結果を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.NotifyValue

解説

NotifyValue プロパティの設定値は次のとおりです。

定数	値	内容

mciNotifySuccessful	1	コマンドの実行は正常に終了しました。

mciNotifySuperseded	2	他のコマンドが実行されました。

mciNotifyAborted	4	ユーザーがコマンドの実行を中断しました。

mciNotifyFailure	8	コマンドの実行中にエラーが発生しました。

Done イベントを使うと、直前の MCI コマンドの NotifyValue プロパティの値を調べることができます。

データ型

整数型 (列挙型)


Orientation プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールのボタンの配置 (水平方向または垂直方向) を設定します。

構文

[form.]MMControl.Orientation[ = orientation%]

解説

Orientation プロパティの設定値は次のとおりです。

定数	値	内容

mciOrientHorz	0	ボタンは水平に配置されます。

mciOrientVerts	1	ボタンは垂直に配置されます。

データ型

整数型 (列挙型)


Position プロパティ (マルチメディア MCI コントロール)

MCI デバイスの現在の位置を、現在設定されている時刻形式で返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Position

データ型

長整数型 (Long)


RecordMode プロパティ (マルチメディア MCI コントロール)

録音や録画を行うことができる MCI デバイスで、現在の記録モードを設定します。

構文

[form.]MMControl.RecordMode[ = mode%]

解説

RecordMode プロパティの設定値は次のとおりです。

定数	値	記録モード

mciRecordInsert	0	挿入

mciRecordOverwrite	1	上書き

デバイスが録音や録画をサポートするかどうかを調べるには、CanRecord プロパティを使います。

録音や録画をサポートするデバイスは、少なくともどちらかの記録モードをサポートします。デバイスがどちらのモードをサポートするかを直接調べることはできません。どちらか一方のモードで録音や録画に失敗した場合は、もう一方のモードで実行してみてください。

WaveAudio デバイスは挿入モードのみをサポートします。

データ型

整数型 (列挙型)


Shareable プロパティ (マルチメディア MCI コントロール)

複数のプログラムで 1 つの MCI デバイスを共有できるかどうかを設定します。

構文

[form.]MMControl.Shareable[ = {True | False}]

解説

Shareable プロパティの設定値は次のとおりです。

設定値	内容

False	他のコントロールまたはアプリケーションは、このデバイスにアクセスできません。

True	複数のコントロールまたはアプリケーションから、このデバイスにアクセスできます。

データ型

整数型 (ブール型)


Silent プロパティ (マルチメディア MCI コントロール)

音を出すかどうかを設定します。

構文

[form.]MMControl.Silent[ = {True | False}]

解説

Silent プロパティの設定値は次のとおりです。

設定値	内容

False	音を出します。

True	音を出しません。

データ型

整数型 (ブール型)


Start プロパティ (マルチメディア MCI コントロール)

メディアの開始位置を、現在設定されている時刻形式で返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Start

データ型

長整数型 (Long)


TimeFormat プロパティ (マルチメディア MCI コントロール)

メディアの長さや位置を表す場合に使う時刻形式を指定します。

構文

[form.]MMControl.TimeFormat[ = format&]

解説

TimeFormat プロパティの設定値は次のとおりです。

定数	値	時刻形式の内容

mciFormatMilliseconds	0 	ミリ秒を長整数の値で表します。

mciFormatHms	1 	時、分、秒をパックして長整数の値で表します。各データの順序は次のとおりです。
時 (最下位バイト)
分
秒
未使用 (最上位バイト)

mciFormatMsf	2 	分、秒、フレームをパックして長整数の値で表します。各データの順序は次のとおりです。
分 (最下位バイト)
秒
フレーム
未使用 (最上位バイト)

mciFormatFrames	3 	フレームを長整数の値で表します。

mciFormatSmpte24	4 	24 フレーム SMPTE を長整数の値で表します。各データの順序は次のとおりです。
時 (最下位バイト)
分
秒
フレーム (最上位バイト)

mciFormatSmpte25	5 	25 フレーム SMPTE を長整数の値で表します。各データの並び順は、24 フレームと同じです。

mciFormatSmpte30	6 	30 フレーム SMPTE を長整数の値で表します。各データの並び順は、24 フレームと同じです。

mciFormatSmpte30Drop	7 	30 ドロップ フレーム SMPTE を長整数の値で表します。各データの並び順は、24 フレームと同じです。

mciFormatBytes	8 	バイトを長整数の値で表します。

mciFormatSamples	9 	サンプルを長整数の値で表します。

mciFormatTmsf	10 	トラック、分、秒、フレームを長整数の値で表します。MCI は連続するトラックを使うことに注意してください。各データの順序は次のとおりです。
トラック (最下位バイト)
分
秒
フレーム (最上位バイト)

注   SMPTE (Society of Motion Picture and Television Engineers / 全米映画テレビ技術者協会) 時間は、時、分、秒、フレームの形式で表される絶対時間です。通常 SMPTE の種類には、24、25、30 フレーム/秒の 3 種類があります。

注   デバイスによっては、一部の時刻形式しかサポートしない場合もあります。サポートされていない時刻形式を指定しても、その設定は無効です。

時刻情報は常に長整数として渡されます。一部の時刻形式では、返される情報が整数ではない場合もあり、それぞれのバイトが表す情報をパックして長整数にします。このプロパティで設定する時刻形式を使って表されるプロパティは次のとおりです。

From	To
Length	TrackLength
Position	TrackPosition
Start

データ型

長整数 (列挙型)


To プロパティ (マルチメディア MCI コントロール)

Play コマンドまたは Record コマンドで、再生または録音や録画を行う場合の終了位置を指定します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.To[ = location&]

解説

引数 location& で、再生または録音や録画の終了位置を指定します。終了位置の指定は、TimeFormat プロパティで設定する時刻形式を使って行います。

このプロパティで設定した終了位置は、次の MCI コマンドに対してのみ適用されます。それ以降の MCI コマンドでは、To プロパティで値を設定し直すまで、このプロパティの設定は無効です。

データ型

長整数型 (Long)


Track プロパティ (マルチメディア MCI コントロール)

TrackLength プロパティと TrackPosition プロパティで表される情報の対象となるトラックを指定します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.Track[ = track&]

解説

引数 track& でトラック番号を指定します。

このプロパティは特定のトラックの長さやそのトラックの開始位置を調べるときに使います。このプロパティで指定したトラックがカレント トラックになるわけではありません。

データ型

長整数型 (Long)


TrackLength プロパティ (マルチメディア MCI コントロール)

Track プロパティで指定したトラックの長さを、現在設定されている時刻形式で返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.TrackLength

データ型

長整数型 (Long)


TrackPosition プロパティ (マルチメディア MCI コントロール)

Track プロパティで指定したトラックの開始位置を、現在設定されている時刻形式で返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.TrackPosition

データ型

長整数型 (Long)


Tracks プロパティ (マルチメディア MCI コントロール)

現在の MCI デバイス上のトラックの総数を返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.Tracks

データ型

長整数型 (Long)


UpdateInterval プロパティ (マルチメディア MCI コントロール)

StatusUpdate イベントが発生する時間間隔を設定します。

構文

[form.]MMControl.UpdateInterval[ = milliseconds%]

解説

引数 milliseconds% で StatusUpdate イベントが発生する間隔をミリ秒で指定します。設定値が 0 の場合、StatusUpdate イベントは発生しません。

データ型

整数型 (Integer)


UsesWindows プロパティ (マルチメディア MCI コントロール)

MCI デバイスが出力を表示する場合にウィンドウを使うかどうかを返します。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]MMControl.UsesWindows

解説

UsesWindows プロパティの設定値は次のとおりです。

設定値	内容

False	出力を表示するときにウィンドウを使いません。

True	出力を表示するときにウィンドウを使います。

出力を表示する場合にウィンドウを使うのは、MMMovie、Overlay の各デバイスです。出力を表示する場合にウィンドウを使うかどうかを調べる方法はありませんが、Open コマンドを実行する場合に、デバイス タイプが MMMovie、Overlay、VCR のいずれかをチェックして、その結果が UsesWindows プロパティに返されます。出力を表示するウィンドウのハンドルは、hWndDisplay プロパティを使って調べることができます。

データ型

整数型 (ブール型)


Visible プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの表示/非表示を設定します。

構文

[form.]MMControl.Visible[ = {True | False}]

解説

Visible プロパティの設定は、ButtonVisible プロパティの設定よりも優先します。つまり、ButtonVisible プロパティで各ボタンの表示/非表示を設定できるのは、Visible プロパティが真 (True) に設定されているときだけです。Visible プロパティが偽 (False) に設定されているときは、コントロール全体が非表示になり、ButtonVisible プロパティの設定は無効です。なお、各ボタン (またはコントロール全体) を非表示に設定しても、各ボタンの機能は利用できます。

マルチメディア MCI コントロールに使う Visible プロパティの設定値は次のとおりです。

設定値	内容

False	コントロールは非表示になります。

True	(既定値) コントロールを表示します。各ボタンの表示/非表示は、ButtonVisible プロパティで設定します。

データ型

整数型 (ブール型)


Wait プロパティ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールからアプリケーションに制御が戻るとき、次の MCI コマンドの実行が終了するまで待つかどうかを設定します。このプロパティはデザイン時には使えません。

構文

[form.]MMControl.Wait[ = {True | False}]

解説

Wait プロパティの設定値は次のとおりです。

設定値	内容

False	次の MCI コマンドの実行が終了する前に、マルチメディア MCI コントロールからアプリケーションに制御が戻ります。

True	次の MCI コマンドの実行が終了した後で、マルチメディア MCI コントロールからアプリケーションに制御が戻ります。

このプロパティで設定した値は、次の MCI コマンドにのみ適用されます。それ以降の MCI コマンドでは、Wait プロパティで値を設定し直すまでこのプロパティの設定は無効です。

データ型

整数型 (ブール型)


ButtonClick イベント (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタン上で、マウス ボタンを押して離したときに発生します。

構文

Private Sub MMControl_ButtonClick (Cancel As Integer)

解説

このイベントはマルチメディア MCI コントロールの各ボタンに定義されており、イベント名の Button の部分には Back、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。

特に何も設定していない場合は、ユーザーがボタンを選択すると ButtonClick イベントが発生し、対応する MCI コマンドが実行されます。各ボタンに対応する MCI コマンドは次のとおりです。

ボタン	実行されるコマンド

Back	MCI_STEP

Step	MCI_STEP

Play	MCI_PLAY

Pause	MCI_PAUSE

Prev	MCI_SEEK

Next	MCI_SEEK

Stop	MCI_STOP

Record	MCI_RECORD

Eject	MCI_SET (MCI_SET_DOOR_OPEN フラグがセットされます)

ButtonClick イベントの引数 Cancel を真 (True) に設定すると、MCI コマンドは実行されません。引数 Cancel の設定値は次のとおりです。

設定値	内容

True	MCI コマンドは実行されません。

False	ButtonClick イベント プロシージャを実行した後で、そのボタンに対応する MCI コマンドが実行されます。

イベント プロシージャは、そのボタンに対応する MCI コマンドの前に実行されます。ButtonClick イベント プロシージャにコードを追加すると、ボタンの機能を変更できます。イベント プロシージャ内で引数 Cancel を真 (True) に設定するか、または真 (True) を引数として ButtonClick イベント プロシージャに渡すと、対応する MCI コマンドは実行されません。

注   デバイスが MCI Resume コマンドをサポートしていない場合は、一時停止中のデバイスに Pause コマンドを発行して Play コマンドからの未処理の通知を処理します。MCI Resume コマンドをサポートしていないデバイスを再始動するために、マルチメディア MCI コントロールでは MCI Play コマンドが使用されます。一時停止中のデバイスを再始動するための Play コマンドの通知は、コールバック条件を取り消し、デバイスが一時停止する前の Play コマンドからの未処理の通知と置き換えられます。


ButtonCompleted イベント (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンをクリックすることによって実行される MCI コマンドが終了したときに発生します。

構文

Private Sub MMControl_ButtonCompleted (Errorcode As Long)

解説

このイベントはマルチメディア MCI コントロールの各ボタンに定義されており、イベント名の Button の部分にはBack、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。

引数 Errorcode の設定値は次のとおりです。

設定値	内容

0	コマンドの実行は正常に終了しました。

他の値	コマンドは正常に実行されませんでした。

ButtonClick イベントの引数 Cancel を真 (True) に設定している場合は、ButtonCompleted イベントは発生しません。


ButtonGotFocus イベント (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンがフォーカスを得たときに発生します。

構文

Private Sub MMControl_ButtonGotFocus ()

解説

このイベントはマルチメディア MCI コントロールの各ボタンに定義されており、イベント名の Button の部分には Back、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。


ButtonLostFocus イベント (マルチメディア MCI コントロール)

マルチメディア MCI コントロールの各ボタンがフォーカスを失ったときに発生します。

構文

Private Sub MMControl_ButtonLostFocus ()

解説

このイベントはマルチメディア MCI コントロールの各ボタンに定義されており、イベント名の Button の部分には Back、Eject、Next、Pause、Play、Prev、Record、Step、および Stopのいずれかのボタン名が入ります。


Done イベント (マルチメディア MCI コントロール)

Notify プロパティが真 (True) に設定されている場合で、MCI コマンドの実行が終了したときに発生します。

構文

Private Sub MMControl_Done (NotifyCode As Integer)

解説

引数 NotifyCode は、MCI コマンドが正常に実行されたかどうかを示します。引数 NotifyCode の設定値は次のとおりです。

設定値	定数	内容

1 	mciSuccessful	コマンドの実行は正常に終了しました。

2 	mciSuperseded	他のコマンドが実行されました。

4 	mciAborted	ユーザーがコマンドの実行を中断しました。

8 	mciFailure	コマンドの実行中にエラーが発生しました。


StatusUpdate イベント (マルチメディア MCI コントロール)

UpdateInterval プロパティで設定した間隔で、自動的に発生します。

構文

Private Sub MMControl_StatusUpdate ()

解説

Position、Length、Mode の各プロパティの値を取得して、現在の MCI デバイスの状態を表示する場合は、このイベントを使います。


 アウトライン コントロール

関連項目	プロパティ	メソッド	イベント	定数	エラー メッセージ

アウトライン コントロールは、リスト内の項目を階層形式で表示できる特殊なリスト ボックスです。これは Windows Vesion 3.1 のファイル マネージャに使われる方法で、たとえば、ファイル システムのディレクトリとファイルを表示することができます。

ファイル名

MSOUTL16.OCX、MSOUTL32.OCX

クラス名

Outline

解説

アウトライン コントロールは、項目を階層形式で表示します。各項目には従属項目を付けることができ、その従属レベルはインデントによって表します。項目を拡張すると、その従属項目も表示され、項目を縮小すると、その従属項目は非表示になります。また、アウトライン コントロールの項目は、その項目の状態を視覚的に判断できるようにピクチャを表示することもできます。

配布時の注意   アウトライン コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


関連項目

コントロールの構成要素

ホット スポット

キーボード インターフェイス


コントロールの構成要素

アウトライン コントロールを使うと、リストの項目ごとにグラフィックスと文字列を表示することができます。1 つの項目は、次の 5 つの要素で構成されます。

ツリー ライン

各項目と各従属項目をつなぐ垂直線と水平線です。

インデント

項目の従属レベルです。各インデント レベルは、Indent プロパティで指定する従属レベルを表します。

プラス/マイナス記号

従属項目が表示されているか、非表示であるかを示します。プラス記号をクリックすると、従属項目が表示され、プラス記号はマイナス記号に置き換えられます。マイナス記号をクリックすると、従属項目が非表示になり、マイナス記号はプラス記号に置き換えられます。

ピクチャ

項目の状態を示します。一般に、ピクチャは、従属項目の付いた項目を拡張できるか、または縮小できるかを示します。項目の状態はユーザー定義です。

文字列

項目について表示される文字列です。


ホット スポット

各構成要素 (ツリー ライン、プラス/マイナス記号、およびピクチャ) は、ホット スポット グラフィックです。ホット スポットをクリックすると、特定のイベントが発生します。次の図は、ある項目に使えるホット スポットを示しています。

注   項目を選択するには、文字列をクリックまたはダブルクリックする必要があります。ホット スポットをクリックして項目を選択することはできません。


キーボード インターフェイス

キーボードを使って、アウトライン コントロールのリストの項目を選択できます。選択に使用するキーと、選択したときに発生する動作は次のとおりです。

選択するキー	フォーカスの移動先

←	現在の項目が従属項目であれば、その親項目に移動します。

→	最初の従属項目が表示されていれば、その従属項目に移動します。

↑	直前の項目があれば、直前の項目に移動します。

↓	次の項目があれば、次の項目に移動します。

Home	リストの先頭項目に移動します。

End	表示されている最終項目に移動します。

PageUp	1 ページ後戻りするか、または現在表示されているページの先頭項目に移動します。

PageDown	1 ページ先送りするか、または現在表示されている最終項目に移動します。

また、次のキーを使うと、従属項目の付いた項目を拡張または縮小することができます。

キー	動作

+ (プラス)	項目を拡張します。

- (マイナス)	項目を縮小します。


プロパティ

アウトライン コントロールのプロパティは次のとおりです。アスタリスク (*) は、アウトライン コントロールにのみ適用されるプロパティ、またはアウトライン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

BackColor	FontUnderline	*ListCount	*PictureType
BorderStyle	ForeColor	*ListIndex	*Style
Container	*FullPath	MouseIcon	TabIndex
DragIcon	*HasSubItems	MousePointer	TabStop
DragMode	Height	Name	Tag
Enabled	HelpContextID	Object	Text
Font	hWnd	Parent	Top
*Expand	*Indent	*PathSeparator	*TopIndex
FontBold	Index	*PictureClosed	Visible
FontItalic	*IsItemVisible	*PictureLeaf	WhatsThisHelpID
FontName	ItemData	*PictureMinus	Width
FontSize	Left	*PictureOpen
FontStrikethru	*List	*PicturePlus
注   DragIcon、DragMode、HelpContextID、Indent、および Parent の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

アウトライン コントロールのイベントは次のとおりです。アスタリスク (*) は、アウトライン コントロールにのみ適用されるイベント、またはアウトライン コントロールと共に使う場合に特に注意が必要なイベントを示しています。

Click	DragOver	KeyPress	MouseMove
*Collapse	*Expand	KeyUp	MouseUp
DblClick	GotFocus	LostFocus	*PictureClick
DragDrop	KeyDown	MouseDown	*PictureDblClick


メソッド

アウトライン コントロールのメソッドは次のとおりです。アスタリスク (*) は、アウトライン コントロールにのみ適用されるメソッド、またはアウトライン コントロールと共に使う場合に特に注意が必要なメソッドを示しています。

*AddItem	Move	SetFocus
Clear	Refresh	ShowWhatsThis
Drag	*RemoveItem	ZOrder
注   Drag、SetFocus、および ZOrder の各メソッドは Microsoft Visual Basic でのみ使用できます。


Expand プロパティ

項目を拡張する (従属項目を表示する) かどうかを指定します。Expand プロパティを真 (True) に設定すると、Expand イベントが発生します。このプロパティは、デザイン時には使えません。

構文

[form.]Outline1.Expand(index%)[ = {True | False}]

解説

アウトライン コントロールで使う Expand プロパティの設定値は、次のとおりです。

設定値	内容

True	項目の従属項目は拡張 (表示) されています。

False	項目に従属項目がある場合、その従属項目は縮小 (非表示に) されています。

Expand プロパティを使うと、従属項目の拡張と縮小をプログラムで制御することができます。このプロパティは、アウトライン コントロールが他のコントロールの設定値の状況に依存する場合に役立ちます。

項目が縮小されているときに Expand プロパティを真 (True) に設定すると、実行時エラー“Parent は展開されていません。”が発生します。

データ型

整数型 (ブール型)


FullPath プロパティ (アウトライン コントロール)

項目の絶対パス名を返します。絶対パス名は、項目をその親項目、さらにその親項目の親項目というように、インデント レベル 1 の親項目に達するまで連結したものです。FullPath プロパティは配列形式になっており、その配列の各インデックス値はリストの各項目に対応しています。FullPath プロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]Outline1.FullPath(index)

解説

アウトライン コントロールの最初の項目が、インデント レベル 0 で表示可能になっていると、FullPath プロパティにはその最初の項目が含まれます。

FullPath プロパティに含まれている、ディレクトリ名やファイル名の間に挿入される区切り記号を設定するには、PathSeparator プロパティを使います。

上図のアウトライン コントロールを使っているときに、次のコードを入力すると、選択した項目の FullPath プロパティの値を取得することができます。このコードは、最初に PathSeparator プロパティを“\”に設定します。これは、FullPath プロパティで取得される値のすべての項目が、この文字列“\”で区切られることを意味します。次に、変数 FullName$ が、現在選択されている項目の FullPath プロパティの値に設定されます。

Outline1.PathSeparator = "\"

FullName$ = Outline1.FullPath(Outline1.ListIndex)

変数 FullName$ の値は \vb\clipart\business になります。

データ型

文字列型 (String)


HasSubItems プロパティ

項目に従属項目が付いているかどうかを示す値を返します。HasSubItems プロパティは配列形式になっており、その配列内の各インデックス値はリストの各項目に対応しています。HasSubItems プロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]Outline1.HasSubItems(index)

解説

項目に従属項目が付いていると、その従属項目が表示可能かどうかに関係なく、HasSubItems プロパティは真 (True) を取得します。特定の項目が表示可能かどうかを判別するには、IsItemVisible プロパティを使います。

HasSubItems プロパティを使って、項目がどの種類のピクチャで表示されるかを判別します。たとえば、次のコードを指定すると、HasSubItems プロパティの戻り値に応じて、項目ごとに異なる種類のピクチャが設定されます。

For i = 0 To Outline1.ListCount - 1

If Outline1.HasSubItems(i) Then

Outline1.PictureType(i) = outOpen

Else

Outline1.PictureType(i) = outLeaf

End If

Next

データ型

整数型 (ブール型)


Indent プロパティ

リストで指定されたインデックスのインデント レベルを設定します。値の取得も可能です。Indent プロパティは配列形式になっており、その配列の各インデックス値はリストの各項目に対応しています。デザイン時には使えません。

構文

[form.]Outline1.Indent(index)[ = indentation%]

解説

引数 indentation% にその親のインデント レベルより 2 以上大きい値を設定すると、実行時エラー“★不正なアウトライン インデントです。”が発生します。たとえば、リストの最初の項目のインデント値が 1 のときに、次の項目のインデント値を 3 に設定すると、実行時エラーが発生します。

インデント レベル 0 には 2 つの意味があります。項目が最初の項目で、インデント レベルが 0 であれば、その項目は階層のルート項目 (ドライブ名など) であることを意味します。これは、Style プロパティにピクチャとツリー ラインが含まれているコントロールにのみ該当します。項目が最初の項目ではなく、インデント レベル が 0 であれば、その項目はインデント レベルに 0 より大きい値を設定しない限り表示されないことを意味します。

引数 index が存在しない項目を参照するときには、アウトライン コントロールはリストに新しい項目を自動的に追加し、ListCount プロパティが調整されます。たとえば、アウトライン コントロールを作成し、Form_Load プロシージャで次のコードを指定すると、どのような動作が発生するかを調べてください。

Private Sub Form_Load ()

' インデント レベルの設定。

Outline1.Indent(3) = 1

End Sub

引数 index は 3 を参照するので、アウトライン コントロールは自動的に 4 つの項目をこのリストに追加します。ただし、AddItem メソッドを使ってリストに項目を追加するか、または List プロパティを使って項目を設定するまで、項目はこのリストには表示されません。

データ型

整数型 (Integer)


IsItemVisible プロパティ

ある項目が現在表示可能になっているかどうかを示す値を返します。IsItemVisible プロパティは配列形式になっており、その配列の各インデックス値はリストの各項目に対応しています。IsItemVisible プロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]Outline1.IsItemVisible(index)

データ型

整数型 (ブール型)


List プロパティ

アウトライン コントロールのリスト部分に入っている項目を判別します。このリストは一種の文字配列で、各要素はリストの項目で構成されています。デザイン時には使えません。

構文

[form.]Outline1.List(index)[ = itemstring$]

解説

アウトライン コントロールの List プロパティは、標準のリスト ボックスの List プロパティに似ていますが、次のような相違点があります。項目のインデックスが存在しなければ、アウトライン コントロールは自動的に新しい項目をリストに追加し、ListCount プロパティが調整されます。ただし、各項目はインデント レベルに 0 より大きい値を設定しない限り表示されません。

データ型

文字列型 (String)


PathSeparator プロパティ (アウトライン コントロール)

FullPath プロパティで使う区切り記号の文字列を設定します。値の取得も可能です。既定値は円記号 (\) です。

構文

[form.]Outline1.PathSeparator[ = delimiter$]

解説

PathSeparator プロパティのコードの例については、「FullPath プロパティ」の「解説」を参照してください。

データ型

文字列型 (String)


PictureClosed、PictureOpen、PictureLeaf プロパティ

PictureType プロパティに関連付けられたピクチャの種類を設定します。値の取得も可能です。アウトライン コントロールの各項目の PictureType プロパティは、0、1、または 2 に設定されています。PictureType プロパティの値が 0 のときは PictureClosed プロパティに設定されたピクチャを指し、1 のときは PictureOpen プロパティに設定されたピクチャを指し、2 のときは PictureLeaf プロパティに設定されたピクチャを指します。

構文

[form.]Outline1.PictureClosed[ = picture%]

[form.]Outline1.PictureOpen[ = picture%]

[form.]Outline1.PictureLeaf[ = picture%]

解説

ピクチャを表示するには、Style プロパティに 1、3、または 5 を設定しなければなりません。

PictureClosed、PictureOpen、PictureLeaf の各プロパティでは、ビットマップ形式 (*.BMP) またはアイコン形式 (*.ICO) のファイルを表示することができます。

PictureClosed、PictureOpen、PictureLeaf の各プロパティの値を設定しなければ、既定値のピクチャが使われます。また、実行時にピクチャ (たとえば、LoadPicture 関数の戻り値を使って) を変更することもできます。また、既定のビットマップ ファイルの、CLOSED.BMP、OPEN.BMP、および LEAF.BMP は、Visual Basic のディレクトリの下の \BITMAPS\OUTLINE ディレクトリにあります。

データ型

整数型 (Integer)


PictureMinus、PicturePlus プロパティ

PictureMinus プロパティ
縮小できる従属項目の付いた項目のピクチャを設定します。値の取得も可能です。

PicturePlus プロパティ
拡張できる従属項目の付いた項目のピクチャを設定します。値の取得も可能です。

構文

[form.]Outline1.PictureMinus[ = picture%]

[form.]Outline1.PicturePlus[ = picture%]

解説

プラス/マイナス記号を表示するには、Style プロパティに 2 または 3 を設定しなければなりません。

PictureMinus プロパティと PicturePlus プロパティでは、ビットマップ形式 (*.BMP) またはアイコン形式 (*.ICO) のファイルを表示することができます。

PictureMinus プロパティと PicturePlus プロパティの値を設定しなければ、既定値のピクチャが使われます。また、実行時にピクチャを (たとえば、LoadPicture 関数の戻り値を使って) 変更することもできます。既定のビットマップ MINUS.BMP および PLUS.BMP は、Visual Basic のディレクトリの下の \BITMAPS\OUTLINE ディレクトリにあります。

データ型

整数型 (Integer)


PictureType プロパティ

PictureClosed、PictureOpen、PictureLeaf のいずれかのプロパティに設定されているピクチャを表す整数を設定します。値の取得も可能です。PictureType プロパティは配列形式になっており、その配列の各インデックス値はリストの各項目に対応しています。デザイン時には使えません。

構文

[form.]Outline1.PictureType(index)[ = type%]

解説

アウトライン コントロールで使う PictureType プロパティの設定値は次のとおりです。

定数	値	内容

outClosed	0	PictureClosed プロパティのピクチャを使用します。

outOpen	1	PictureOpen プロパティのピクチャを使用します。

outLeaf	2	PictureLeaf プロパティのピクチャを使用します。

PictureClosed、PictureOpen、PictureLeaf の各プロパティの値を設定しない場合、既定のピクチャが使われます。

データ型

整数型 (Integer)


Style プロパティ (アウトライン コントロール)

アウトライン コントロール内の項目ごとに、表示される図形と文字列のスタイルを設定します。値の取得も可能です。

構文

[form.]Outline1.Style[ = style%]

解説

アウトライン コントロールで使う Style プロパティの設定値は、次のとおりです。

設定値	内容

0	文字列のみ

1	ピクチャと文字列

2	(既定値) プラス/マイナス記号と文字列

3	プラス/マイナス記号、ピクチャ、および文字列

4	ツリー ラインと文字列

5	ツリー ライン、ピクチャ、および文字列

図形は、ツリー ライン、プラス/マイナス記号、およびピクチャの 3 つです。次の 2 つの例は、表示できる図形を示しています。

データ型

整数型 (列挙型)


TopIndex プロパティ

アウトライン コントロール内で最上位に表示される項目を設定します。値の取得も可能です。指定した項目が縮小されているために表示できない場合は、次の表示項目を設定します。既定値は 0、または最初の項目です。デザイン時には使えません。

構文

[form.]Outline1.TopIndex[ = top%]

データ型

整数型 (Integer)


Collapse イベント (アウトライン コントロール)

項目が縮小され、その項目の従属項目が非表示にされる場合に発生します。

構文

Private Sub Outline_Collapse ([Index As Integer, ] I As Integer)

解説

このイベントは I を渡します。I は、縮小されたリストの項目のインデックスです。


Expand イベント (アウトライン コントロール)

項目が拡張され、その項目の従属項目が表示可能にされる場合に発生します。

構文

Private Sub Outline_Expand ([Index As Integer, ] I As Integer)

解説

このイベントは引数 I を渡します。引数 I は、拡張されたリストの項目のインデックスです。

Expand イベントを使うと、項目のピクチャの種類を変更することができます。たとえば、ある項目の拡張時と縮小時に、異なるピクチャを表示することができます。次のコードを指定すると、項目の拡張時には PictureOpen プロパティのピクチャが表示されます。

Private Sub Outline1_Expand (I As Integer)

If Outline1.HasSubItems(I) Then

Outline1.PictureType(I) = outOpen

End If

End Sub

注   項目の Expand プロパティを真 (True) に設定すると、その項目に従属項目がなくても Expand イベントが発生します。


PictureClick イベント

項目に関連付けられたピクチャがクリックされると発生します。

構文

Private Sub Outline_PictureClick ([Index As Integer, ] I As Integer)

解説

このイベントは引数 I を渡します。引数 I は、クリックしたピクチャの項目のインデックスです。


PictureDblClick イベント

項目に関連付けられたピクチャがダブルクリックされると発生します。

構文

Private Sub Outline_PictureDblClick ([Index As Integer, ] I As Integer)

解説

このイベントは引数 I を渡します。引数 I は、ダブルクリックしたピクチャの項目のインデックスです。


AddItem メソッド

実行時に、アウトライン コントロールに項目を追加します。

構文

[form.]Outline1.AddItem item [, index%]

解説

引数 index% を指定して既存の項目を参照すると、既存の項目のインデント レベルを使って、新しい項目がリストに挿入されます。ただし、引数 index% を指定する場合に、項目が存在しないときにはその項目が追加され、インデント レベルが 0 に設定されます。項目のインデント レベルが 0 で、アウトライン コントロールの最初の項目でないときには、その項目はインデント レベルが 0 より大きい値に設定されない限り表示されません。

引数 index% を指定しない場合、新しい項目が追加されるかどうかは、現在選択されている項目によって決まります。たとえば、ListIndex プロパティを 2 に設定すると、ListIndex プロパティの値が 2 に設定されている項目の従属項目の末尾に新しい項目が追加されます。ListIndex プロパティを -1 (項目が選択されていない状態) に設定すると、その項目はリストの末尾に追加され、インデント レベルは 1 になります。


RemoveItem メソッド

実行時に、項目とその従属項目をアウトライン コントロールから削除します。

構文

[form.]Outline1.RemoveItem index%

解説

RemoveItem メソッドを標準リスト ボックス (ListBox) コントロールまたはコンボ ボックス (ComboBox) コントロールに適用すると、引数 index% で指定した項目のみが削除されますが、RemoveItem メソッドをアウトライン コントロールに適用すると、指定した項目とその項目のすべての従属項目が削除されます。


 ピクチャ クリップ コントロール

プロパティ	エラー メッセージ

ピクチャ クリップ コントロールは、ソース ビットマップから必要な領域を選択して、その範囲に含まれるピクチャをフォームまたはピクチャ ボックス (PictureBox) コントロールに表示します。ピクチャ クリップは、実行時には非表示になります。次の図はピクチャ クリップで使われるソース ビットマップの例です。この図はツールバーのソース ビットマップです。

ファイル名

PICCLIP16.OCX、PICCLIP32.OCX

クラス名

PictureClip

解説

ピクチャ クリップ コントロールを使用すると、複数のピクチャ リソースを効率よく管理できます。アプリケーションで複数のビットマップまたはアイコンを使用する場合、それらのアイコン イメージをまとめて、1 つのソース ビットマップを作成します。アイコンが必要なときは、ピクチャ クリップ コントロールを使用し、ソース ビットマップから目的のアイコンが含まれている領域を選択します。

たとえば、ピクチャ クリップ コントロールを使用すると、アプリケーションでツールボックスを表示するのに必要なイメージをすべて保存できます。それぞれのイメージを各ピクチャ ボックス コントロールに保存するよりも、ツールボックスに必要なイメージをまとめてピクチャ クリップ コントロールに保存する方が効率的です。このため、まずツール ボックスに必要なイメージを含むソース ビットマップを作成します。前のピクチャはこのようなビットマップの例を表します。

ソース ビットマップから必要な範囲 (クリップ領域) を指定するには、次の 2 つの方法があります。

ランダム アクセス (任意の範囲を取り出す)

ClipX プロパティおよび ClipY プロパティでクリップ領域の左上隅を指定し、ClipHeight プロパティおよび ClipWidth プロパティでクリップ領域の高さと幅を指定します。クリップ領域の内容を参照する場合は、Clip プロパティを使います。この方法では、ソース ビットマップの任意の部分を参照できます。

シーケンシャル アクセス (一定のサイズで区切って取り出す)

ソース ビットマップを分割して、ピクチャ セルの行列を作成します。クリップ領域の内容を参照する場合は、GraphicCell プロパティを使います。上に示したソース ビットマップのように、ソース ビットマップが一定のサイズのピクチャからなるときは、この方法を使うと便利です。

ピクチャ クリップ コントロールに読み込むビットマップは、Picture プロパティで指定します。ピクチャ クリップ コントロールに読み込むことができるのは、ビットマップ形式 (.BMP) のファイルだけです。

配布時の注意   ピクチャ クリップ コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Microsoft Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

ピクチャ クリップ コントロールのプロパティは次のとおりです。アスタリスク (*) は、ピクチャ クリップ コントロールにのみ適用されるプロパティ、またはピクチャ クリップ コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

*CellHeight	*ClipY	Name	*StretchY
*CellWidth	*Cols	Object	Tag
*Clip	*GraphicCell	Parent	*Width
*ClipHeight	*Height	*Picture
*ClipWidth	hWnd	*Rows
*ClipX	Index	*StretchX
ピクチャ クリップ コントロールでは、既定プロパティ (プロパティ名を省略してコントロール名を指定するだけで値を設定したり取得できるプロパティ) は Picture プロパティです。

注   Index プロパティおよび Parent プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


Clip プロパティ (ピクチャ クリップ コントロール)

例

ClipX、ClipY、ClipWidth および ClipHeight の各プロパティによって指定されたクリップ領域に含まれるピクチャを返します。実行時には値の取得のみ可能です。

構文

[form.]PictureClip.Clip

解説

このプロパティは、ランダム アクセスを使ってクリップ領域を指定する場合に使用します。

ClipHeight プロパティおよび ClipWidth プロパティではクリップ領域をピクセル単位で指定するので、ピクチャ ボックス (PictureBox) コントロールにクリップ イメージを割り当てる場合は、ピクチャ ボックス コントロールの ScaleMode プロパティを 3 (ピクセル) に設定する必要があります。

データ型

整数型 (Integer)


Clip プロパティの例 (ピクチャ クリップ コントロール)

次のプログラムでは、テキスト ボックス (TextBox) コントロールに X 座標と Y 座標を入力してフォームをクリックしたときに、ピクチャ ボックス (PictureBox) コントロールにビットマップを表示します。このプログラムを実行するには、フォーム上にピクチャ ボックス コントロール、ピクチャ クリップ コントロール、2 つのテキスト ボックス コントロールを配置します。また、プロパティ ウィンドウで、ピクチャ クリップ コントロールに読み込むソース ビットマップを指定してください。

Private Sub Form_Click ()

Dim SaveMode As Integer

' ピクチャ ボックス コントロールの ScaleMode プロパティの現在の値を保存します。

SaveMode = Picture1.ScaleMode

' クリップ領域の左上隅の X および Y 座標として指定されている値を取得します。

PicClip1.ClipX = Val(Text1.Text)

PicClip1.ClipY = Val(Text2.Text)

' クリップ領域の高さと幅を指定します。

PicClip1.ClipHeight = 100

PicClip1.ClipWidth = 100

' ピクチャ ボックス コントロールの ScaleMode プロパティを 3 (ピクセル) に設定します。

Picture1.ScaleMode = 3

' クリップ領域に含まれるビットマップをピクチャ ボックス コントロールに表示するときの大きさを設定します。

PicClip1.StretchX = Picture1.ScaleWidth

PicClip1.StretchY = Picture1.ScaleHeight

' クリップ領域に含まれるビットマップをピクチャ ボックス コントロールに表示します。

Picture1.Picture = PicClip1.Clip

' ピクチャ ボックス コントロールの ScaleMode プロパティをもとの値に戻します。

Picture1.ScaleMode = SaveMode

End Sub


ClipHeight プロパティ (ピクチャ クリップ コントロール)

Clip プロパティによって返されるピクチャ クリップ コントロールの領域を指定します。このプロパティはデザイン時には使えません。

構文

[form.]PictureClip.ClipHeight[ = Height%]

[form.]PictureClip.ClipWidth[ = Width%]

[form.]PictureClip.ClipX[ = X%]

[form.]PictureClip.ClipY[ = Y%]

解説

このプロパティはピクセル単位で指定します。

データ型

整数型 (Integer)


ClipWidth プロパティ (ピクチャ クリップ コントロール)

Clip プロパティによって返されるピクチャ クリップ コントロールの領域を指定します。このプロパティはデザイン時には使えません。

構文

[form.]PictureClip.ClipWidth[ = Width%]

解説

このプロパティはピクセル単位で指定します。

データ型

整数型 (Integer)


ClipX プロパティ (ピクチャ クリップ コントロール)

Clip プロパティによって返されるピクチャ クリップ コントロールの領域を指定します。このプロパティはデザイン時には使えません。

構文

[form.]PictureClip.ClipX[ = X%]

解説

このプロパティはピクセル単位で指定します。

データ型

整数型 (Integer)


ClipY プロパティ (ピクチャ クリップ コントロール)

Clip プロパティによって返されるピクチャ クリップ コントロールの領域を指定します。このプロパティはデザイン時には使えません。

構文

[form.]PictureClip.ClipY[ = Y%]

解説

このプロパティはピクセル単位で指定します。

データ型

整数型 (Integer)


Cols、Rows プロパティ (ピクチャ クリップ コントロール)

ソース ビットマップ内の行数および列数を設定します。

構文

[form.]PictureClip.Cols[ = cols%]
[form.]PictureClip.Rows[ = rows%]

解説

シーケンシャル アクセスでクリップ領域を指定するときは、これらのプロパティを使って、ソース ビットマップを一定のサイズのピクチャ セルに分割します。各セルの内容を参照するときは、GraphicCell プロパティをつかいます。

Cols プロパティおよび Rows プロパティには、1 以上の整数を指定します。

セルの高さは、ソース ビットマップの高さを列数で割ることによって得られます。このときセルの高さは整数に丸められ、ソース ビットマップの下の余った部分は切り取られます。

セルの幅は、ソース ビットマップの幅を行数で割ることによって得られます。このときセルの幅は整数に丸められ、ソース ビットマップの右の余った部分は切り取られます。

データ型

整数型 (Integer)


GraphicCell プロパティ (ピクチャ クリップ コントロール)

各セルに含まれるピクチャを返す一次元の配列です。このプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]PictureClip.GraphicCell (Index%)

解説

Rows プロパティおよび Cols プロパティを使って、ピクチャをいくつかの配列されたグラフィック セルに分割します。

GraphicCell プロパティによって設定された各セルにはインデックス番号が付けられます。インデックス番号は 0 から始まり、左から右へ、上から下へと番号が大きくなります。

このプロパティはシーケンシャル アクセスを使用してクリップ領域を指定するときに使用します。

Picture プロパティでピクチャを指定していないとき、あるいはRows プロパティまたは Cols プロパティの設定が 0 のときに、このプロパティを参照しようとすると、エラーが発生します。

データ型

整数型 (Integer)


Height、Width プロパティ (ピクチャ クリップ コントロール)

ピクチャ クリップ コントロールに読み込まれているソース ビットマップの高さと幅 (ピクセル単位) を返します。これらのプロパティはデザイン時には使えません。実行時には値の取得のみ可能です。

構文

[form.]PictureClip.Height

[form.]PictureClip.Width

解説

これらのプロパティを参照できるのは、ピクチャ クリップ コントロールに読み込むソース ビットマップが指定されているときだけです。

デザイン時に、プロパティ ウィンドウでピクチャ クリップ コントロールに読み込むソース ビットマップを指定することができます。実行時には、LoadPicture 関数の戻り値を使用してこれらのプロパティを指定することができます。

データ型

整数型 (Integer)


Picture プロパティ (ピクチャ クリップ コントロール)

このプロパティの使用方法は、標準の Picture プロパティと同じです。ただし、指定できるのは、ビットマップ形式 (.BMP) のファイルだけです。


StretchX (StretchY プロパティ、ピクチャ クリップ コントロール)

Clip プロパティによって作成されるビットマップを表示するときのサイズを指定します。このプロパティはデザイン時には使えません。

構文

[form.]PictureClip.StretchX[ = X%]

[form.]PictureClip.StretchY[ = Y%]

解説

クリップ領域に含まれるピクチャを表示するときは、StretchX プロパティおよび StretchY プロパティで設定したサイズに合わせて、ピクチャが拡大または縮小されます。これらのプロパティを使用して、Clip プロパティによってビットマップがコピーされる領域を指定します。

StretchX プロパティおよび StretchY プロパティはピクセル単位で指定します。

注   フォームおよびピクチャ ボックス (PictureBox) コントロールの ScaleMode プロパティの既定値は 1 (twip) です。ピクチャ クリップ コントロールに含まれるピクチャを表示するには、ピクチャ ボックス コントロールの ScaleMode プロパティを 3 (ピクセル) に設定する必要があります。

データ型

整数型 (Integer)


 スピン ボタン コントロール

プロパティ	メソッド	イベント	定数	エラー メッセージ

スピン ボタン コントロールは他のコントロールと組み合わせて使い、値を大きくしたり小さくしたりする場合のユーザー インターフェイスを提供します。ある範囲内の値またはリストの項目を選択するのにも使用できます。

ファイル名

SPIN16.OCX、SPIN32.OCX

クラス名

SpinButton

解説

スピン ボタン コントロールを使用すると、テキスト ボックス (TextBox) コントロールまたは他のコントロールに表示されている値を大きくしたり小さくしたりすることができます。スピン ボタン コントロールの上 (または右) 向き矢印をクリックすると SpinUp イベントが発生し、下 (または左) 向き矢印をクリックすると SpinDown イベントが発生します。矢印を押し続けると、連続して SpinUp イベントおよび SpinDown イベントが発生します。一般に、SpinUp イベントには値を大きくするコードを記述し、SpinDown イベントには値を小さくするコードを記述します。

SpinUp イベントおよび SpinDown イベントが発生する間隔は Delay プロパティで設定します。

スピン ボタン コントロールには、ボタンの各部分の色を設定するプロパティがあります。このプロパティの値は、カラー パレットを使って設定します。

配布時の注意   スピン ボタン コントロールを使ったアプリケーションを配布する場合には、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切なファイルをインストールする必要があります。Visual Basic に含まれているセットアップ ウィザードを使うと、アプリケーションをインストールするセットアップ プログラムを簡単に作成できます。


プロパティ

スピン ボタン コントロールのプロパティは次のとおりです。アスタリスク (*) は、スピン ボタン コントロールにのみ適用されるプロパティ、またはスピン ボタン コントロールと共に使う場合に特に注意が必要なプロパティを示しています。

BackColor	ForeColor	MousePointer	*SpinOrientation
*BorderColor	Height	Name	TabIndex
*BorderThickness	HelpContextID	Object	Tag
Container	hWnd	Parent	*TdThickness
*Delay	Index	*ShadeColor	Top
DragIcon	Left	*ShadowBackColor	Visible
DragMode	*LightColor	*ShadowForeColor	WhatsThisHelpID
Enabled	MouseIcon	*ShadowThickness	Width
注   DragIcon、DragMode、HelpContextID、および Index の各プロパティは、Microsoft Visual Basic でのみ使用できます。Name プロパティは Visual Basic Version 1.0 の CtlName プロパティに相当します。


イベント

スピン ボタン コントロールのイベントは次のとおりです。アスタリスク (*) は、スピン ボタン コントロールにのみ適用されるイベント、またはスピン ボタン コントロールと共に使う場合に特に注意が必要なイベントを示しています。

DragDrop	DragOver	*SpinDown	*SpinUp
注   DragDrop イベントおよび DragOver イベントは Microsoft Visual Basic でのみ使用できます。


メソッド

スピン ボタン コントロールのメソッドは次のとおりです。これ以外の一般的なメソッドについては、『カスタム コントロール リファレンス』の「付録 A 標準のプロパティ、イベント、およびメソッド」を参照してください。

Drag	Refresh	ZOrder
Move	ShowWhatsThis
注   Drag メソッドおよび ZOrder メソッドは Microsoft Visual Basic でのみ使用できます。


BorderColor プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールの境界線の色を設定します。

構文

[form.]SpinButton.BorderColor[ = color&]

解説

BorderColor プロパティの設定値は次のとおりです。

設定値	内容

&H00000000&	(既定値) 黒。

その他の色	通常の RGB カラー (カラー パレットまたはコードで、RGB 関数または QBColor 関数を使って指定する色) を使います。

データ型

長整数型 (Long)


BorderThickness プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールの境界線の幅を設定します。

構文

[form.]SpinButton.BorderThickness[ = setting%]

解説

BorderThickness プロパティの設定値は次のとおりです。

設定値	内容

0	境界線を表示しません。

1	(既定値) 境界線の幅は 1 ピクセルです。

(整数)	立体的な境界線の幅をピクセル単位で指定します。

データ型

整数型 (Integer)


Delay プロパティ (スピン ボタン コントロール)

Delay プロパティは、SpinUp イベントまたは SpinDown イベントが発生する間隔を設定します。

Delay プロパティは、スピン ボタン コントロールの矢印を押し続けている場合に発生する SpinUp イベントまたは SpinDown イベントの間隔を設定します。

構文

[form.]SpinButton.Delay[ = setting%]

解説

Delay プロパティの設定値は次のとおりです。

設定値	内容

250	(既定値) 250 ミリ秒 (1/4 秒)。

(0 ～ 32,767)	イベントの間隔をミリ秒単位で設定します。

データ型

整数型 (Integer)


LightColor プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールを立体的に表示する場合、コントロールの左傾斜面と上傾斜面の色を設定します。

構文

[form.]SpinButton.LightColor[ = color&]

解説

LightColor プロパティの設定値は次のとおりです。

設定値	内容

&H00FFFFFF&	(既定値) 白。

その他の色	通常の RGB カラー (カラー パレットまたはコードで、RGB 関数または QBColor 関数を使って指定する色) を使います。

LightColor プロパティを ShadeColor プロパティで設定する色と同じ色で、より明るい色に設定すると、スピン ボタン コントロールがフォームから浮き出て表示されます。また、ShadeColor プロパティで設定する色と同じ色で、より暗い色に設定すると、フォームからくぼんで表示されます。

注   LightColor プロパティおよび ShadeColor プロパティの設定を有効にするには、TdThickness プロパティに 1 より大きい値を設定してください。

データ型

長整数型 (Long)


ShadeColor プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールを立体的に表示する場合に、下傾斜面と右傾斜面の色を設定します。

構文

[form.]SpinButton.ShadeColor[ = color&]

解説

ShadeColor プロパティの設定値は次のとおりです。

設定値	内容

&H007F7F7F&	(既定値) 濃い灰色。

その他の色	通常の RGB カラー (カラー パレットまたはコードで、RGB 関数または QBColor 関数を使って指定する色) を使います。

このプロパティは LightColor プロパティと組み合わせて使い、スピン ボタン コントロールを立体的に表現します。

注   LightColor プロパティおよび ShadeColor プロパティの設定を有効にするには、TdThickness プロパティに 1 より大きい値を設定してください。

データ型

長整数型 (Long)


ShadowBackColor プロパティ (スピン ボタン コントロール)

スピン ボタンがフォームから浮き上がっているように表示する場合に、背景の色を設定します。

構文

[form.]SpinButton.ShadowBackColor[ = color&]

解説

ShadowBackColor プロパティの設定値は次のとおりです。

設定値	内容

&H00FFFFFF&	(既定値) 白。

その他の色	通常の RGB カラー (カラー パレットまたはコードで、RGB 関数または QBColor 関数を使って指定する色) を使います。

通常は、スピン ボタン コントロールの周囲の色と同じ色に設定します。このプロパティは、スピン ボタン コントロールがフォームから浮き上がっているように表示するときのボタンの左下と右上の部分の色を設定します。

注   ShadowBackColor プロパティおよび ShadowForeColor プロパティの設定を有効にするには、ShadowThickness プロパティに 0 より大きい値を設定してください。

データ型

長整数型 (Long)


ShadowForeColor プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールがフォームから浮き上がっているように表示する場合に、影となる部分の色を設定します。

構文

[form.]SpinButton.ShadowForeColor[ = color&]

解説

ShadowForeColor プロパティの設定値は次のとおりです。

設定値	内容

&H007F7F7F&	(既定値) 濃い灰色。

その他の色	通常の RGB カラー (カラー パレットまたはコード内で RGB 関数または QBColor 関数を使って指定する色) を使います。

ShadowForeColor プロパティを設定すると、スピン ボタンがフォームから浮き上がっているように表示されます。通常、影には暗い色を指定しますが、フォームの色と同系色を選択する必要があります。たとえば、フォームの BackColor プロパティを緑に設定している場合は、ShadowForeColor プロパティを濃い緑に設定すると効果があります。

注   ShadowBackColor プロパティおよび ShadowForeColor プロパティの設定を有効にするには、ShadowThickness プロパティに 0 より大きい値を設定してください。

データ型

長整数型 (Long)


ShadowThickness プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールがフォームから浮き上がっているように表示するとき、影となる部分の幅を設定します。

構文

[form.]SpinButton.ShadowThickness[ = setting%]

解説

ShadowThickness プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 影を付けません。

(整数)	影の幅をピクセル単位で指定します。

ShadowThickness プロパティで設定する影の幅によって、スピン ボタン コントロールがフォームから浮き上がっているようすを調節できます。最も効果的にボタンが浮き上がって見える状態にするには、ShadowThickness プロパティに設定する影の幅を短く (数ピクセル) します。

注   ShadowBackColor プロパティおよび ShadowForeColor プロパティの設定を有効にするには、ShadowThickness プロパティに 0 より大きい値を設定してください。

データ型

整数型 (Integer)


SpinOrientation プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールの矢印の向き (上下方向または左右方向) を設定します。

構文

[form.]SpinButton.SpinOrientation[ = setting%]

解説

SpinOrientation プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) Vertical。上下方向の矢印になります。

1	Horizontal。左右方向の矢印になります。

データ型

整数型 (Integer)


TdThickness プロパティ (スピン ボタン コントロール)

スピン ボタン コントロールを立体的に表示する場合に、傾斜面の幅を設定します。

構文

[form.]SpinButton.TdThickness[ = setting%]

解説

TdThickness プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) スピン ボタン コントロールを立体的に表示しません。

(整数)	傾斜面の幅をピクセル単位で指定します。

注   LightColor プロパティおよび ShadeColor プロパティの設定を有効にするには、TdThickness プロパティに 1 より大きい値を設定してください。

データ型

整数型 (Integer)


SpinUp (SpinDown イベント、スピン ボタン コントロール)

例

スピン ボタン コントロールの矢印をクリックしたときに発生します。

構文

Private Sub SpinButton_SpinUp ()

Private Sub SpinButton_SpinDown ()

解説

SpinUp イベントは上 (または右) 向き矢印がクリックされたときに発生し、SpinDown イベントは下 (または左) 向き矢印がクリックされたときに発生します。矢印を 1 回クリックすると SpinUp イベントまたは SpinDown イベントが 1 回発生しますが、マウスの左ボタンを押し続けると複数のイベントが発生します。

マウスのボタンをクリックして押し続けると、設定された値の範囲内を反復します。Delay プロパティを使用して反復する速度を設定することができます。

SpinUp イベントまたは SpinDown イベントを使用してコントロールの表示内容を変更する場合、Refresh メソッドを呼び出して変更後のコントロールの状態を更新する必要があります。


SpinUp、SpinDown イベントの例 (スピン ボタン コントロール)

次のプログラムでは、スピン ボタン コントロールを使ってテキスト ボックス (TextBox) コントロールの値を増分または減分します。このプログラムを実行するには、フォーム上にスピン ボタン コントロールとテキスト ボックス コントロールを配置し、フォーム モジュールのコード ウィンドウに次のコードを貼り付けます。

Private Sub Spin1_SpinUp ()

' SpinUp イベントが発生するたびにテキスト ボックス コントロールの値を大きくします。

Text1.Text = Str$(Val(Text1.Text)+1)

' テキスト ボックス コントロールの現在の値を表示します。

Text1.Refresh

End Sub

Private Sub Spin1_SpinDown ()

' SpinDown イベントが発生するたびにテキスト ボックス コントロールの値を小さくします。

Text1.Text = Str$(Val(Text1.Text)-1)

' テキスト ボックス コントロールの現在の値を表示します。

Text1.Refresh

End Sub


Alignment プロパティ (3D コントロール)

3D チェック ボックス、3D フレーム、3D オプション ボタン、および 3D パネルの各コントロールのキャプションの配置を設定します。値の取得も可能です。

構文

[form.]Object.Alignment[ = setting%]

解説

3D チェック ボックス コントロールの場合の設定値は次のとおりです。

設定値	内容

0	(既定値) チェック ボックスの右側にキャプションを配置します。

1	チェック ボックスの左側にキャプションを配置します。

3D フレーム コントロールの場合の設定値は次のとおりです。

設定値	内容

0	(既定値) 左上隅にキャプションを配置します。

1	右上隅にキャプションを配置します。

2	上部中央にキャプションを配置します。

3D オプション ボタン コントロールの場合の設定値は次のとおりです。

設定値	内容

0	(既定値) ボタンの右側にキャプションを配置します。

1	ボタンの左側にキャプションを配置します。

3D パネル コントロールの場合の設定値は次のとおりです。

設定値	内容

0	3D パネルの上部に左揃えで配置されます。

1	3D パネルの中央に左揃えで配置されます。

2	3D パネルの下部に左揃えで配置されます。

3	3D パネルの上部に右揃えで配置されます。

4	3D パネルの中央に右揃えで配置されます。

5	3D パネルの下部に右揃えで配置されます。

6	3D パネルの上部に中央揃えで配置されます。

7	(既定値) 3D パネルの中央に中央揃えで配置されます。

8	3D パネルの下部に中央揃えで配置されます。

データ型

整数型 (列挙型)


AutoSize プロパティ (3D コントロール)

3D コマンド ボタン、3D グループ プッシュ ボタン、3D パネルのいずれかのコントロールでピクチャを表示する場合に、コントロールのサイズに合わせてピクチャのサイズを変更するか、ピクチャのサイズに合わせてコントロールのサイズを変更するかを設定します。

構文

[form.]Object.AutoSize[ = setting%]

解説

3D コマンド ボタン コントロールの場合の設定値は次のとおりです。

設定値	内容

0	(既定値) コントロールおよびピクチャのサイズは変更されません。

1	コントロールのサイズに合わせてピクチャのサイズを変更します。ピクチャがアイコンの場合、またはロードするピクチャが指定されていない場合は、この設定は無視されます。

2	ピクチャのサイズに合わせてコントロールのサイズを変更します。ロードするピクチャが指定されていない場合は、この設定は無視されます。

3D グループ プッシュ ボタン コントロールの場合の設定値は次のとおりです。

設定値	内容

0	コントロールおよびピクチャのサイズは変更されません。

1	コントロールのサイズに合わせてピクチャのサイズを変更します。

2	(既定値) ピクチャのサイズに合わせてコントロールのサイズを変更します。

3D パネル コントロールの場合の設定値は次のとおりです。

設定値	内容

0 	(既定値) コントロールのサイズは変更されません。

1	キャプションの幅に合わせてコントロールの幅を変更します。コントロールの高さは変更されません。この設定では、キャプションの長さに関係なく、キャプションが 1 行で表示されるようにコントロールの幅が変更されます。

2	キャプションの高さに合わせてコントロールの高さを変更します。コントロールの幅は変更されません。この設定では、コントロールの幅に合わせてキャプションが折り返され、複数行で表示されます。

3	コントロール上に配置されている他のコントロールが 1 つの場合、3D パネル コントロールのサイズに合わせて子コントロールのサイズを変更します。子コントロールがない場合、および複数配置されている場合は、この設定は無視されます。この設定を使用すると、リスト ボックス、スクロール バーなどの標準コントロールを立体的に表示できるようになります。子コントロールのサイズに制限がある場合 (コンボ ボックス、ドライブ リスト ボックスの高さは変更できません) は、子コントロールのサイズに合わせて 3D パネル コントロールのサイズが変更されます。

データ型

整数型 (列挙型)


BevelWidth プロパティ (3D コントロール)

3D コマンド ボタン、3D グループ プッシュ ボタン、および 3D パネルの各コントロールを立体的に表示する場合、傾斜面の幅を設定することで、ボタンの高さを決定します。

構文

[form.]Object.BevelWidth[ = width%]

解説

3D コマンド ボタン コントロールを立体的に表示する場合は、傾斜面の幅をピクセル単位で設定します。指定できる値は、0 ～ 10 の範囲の整数です。

3D グループ プッシュ ボタン コントロールを立体的に表示する場合は、傾斜面の幅をピクセル単位で設定します。指定できる値は、0 ～ 2 の範囲の整数です。

3D パネル コントロールを立体的に表示する場合は、傾斜面の幅をピクセル単位で指定します。指定できる値は、0 ～ 30 の範囲の整数です。傾斜面の幅は、内側と外側の傾斜面ともに同じ値になります。このプロパティは、BevelInner、BevelOuter、および BorderWidth の各プロパティと組み合わせて使います。

データ型

整数型 (Integer)


Click イベント (3D コントロール)

3D チェック ボックス、3D グループ プッシュ ボタン、3D オプション ボタン、および 3D パネルの各コントロール上でマウス ボタンを押して離したときに発生します。通常、このイベントは、コントロールの Value プロパティが変更されると発生します。

構文

Private Sub Object_Click (Value As Integer)

解説

この Click イベントは、各コントロールの Value プロパティが引数として渡される点を除いて、Visual Basic の標準の Click イベントと同じです。コントロールが選択されているとき、またはボタンが押されているとき、Value プロパティは真 (True) に設定されます。コントロールが選択されていないとき、またはボタンが押されていないとき、Value プロパティは偽 (False) に設定されます。

3D チェック ボックス コントロールの場合は、Value プロパティが変更されると発生します。次のコードでは、フォームをクリックするとこのイベントが発生することになります。

Private Sub Form_Click()

' Value プロパティを変更すると、Click イベントが発生します。

SSCheck1.Value = Abs(SSCheck1.Value)-1

End Sub


Outline プロパティ (3D コントロール)

3D コマンド ボタン、3D グループ プッシュ ボタン、および 3D パネルの各コントロールの境界線として 1 ピクセル幅の黒い線を表示するかどうかを設定します。

構文

[form.]Object.Outline[ = {True | False}]

解説

Outline プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) コントロールの周囲に 1 ピクセル幅の黒い境界線が表示されます。

False	境界線は表示されません。

データ型

整数型 (ブール型)


RoundedCorners プロパティ (3D コントロール)

3D コマンド ボタン、3D グループ プッシュ ボタン、および 3D パネルの各コントロールの四隅を丸く表示するかどうかを設定します。

構文

[form.]Object.RoundedCorners[ = {True | False}]

解説

RoundedCorners プロパティの設定値は次のとおりです。

設定値	内容

True	(既定値) コントロールの四隅が丸く表示されます。それぞれの角の 1 ピクセルが表示されません。

False	コントロールの四隅は直角になります。

注   Outline プロパティが偽 (False) に設定されている場合は、このプロパティの設定は無視されます。

データ型

整数型 (ブール型)


ShadowColor プロパティ (3D コントロール)

3D フレーム コントロールおよび 3D パネル コントロールを立体的に表示するとき、傾斜面の影の色を設定します。

構文

[form.]Object.ShadowColor[ = setting%]

解説

ShadowColor プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 濃い灰色

1	黒

通常、ShadowColor プロパティは 0 (濃い灰色) に設定します。ただし、同じフォーム上に配置されている 3D フレームの ShadowColor プロパティと一致させたい場合は、必要に応じて 1 (黒) に設定します。

データ型

整数型 (列挙型)


Font3D プロパティ (3D コントロール)

3D チェック ボックス、3D コマンド ボタン、3D フレーム、3D オプション ボタン、および 3D パネルの各コントロールのキャプションを立体的に表示するときのスタイルを設定します。

構文

[form.]Object.Font3D[ = setting%]

解説

Font3D プロパティの設定値は次のとおりです。

設定値	内容

0	(既定値) 立体的な表示を行わず、キャプションは通常の表示になります。

1	キャプションはコントロール上で飛び出て表示されます。

2	1 に設定したときよりもさらに飛び出て表示されます。

3	キャプションはコントロール上で引っ込んで表示されます。

4	3 に設定したときよりもさらに引っ込んで表示されます。

Font3D プロパティを使ってキャプションを立体的に表示するときでも、フォントに関連する他のプロパティの設定 (フォント サイズ、太字、斜体など) は有効です。大きな太字のフォントの場合は、Font3D プロパティを 2 または 4 に設定すると、より効果的です。

データ型

整数型 (列挙型)


エラー メッセージ (アニメーション ボタン コントロール)

アニメーション ボタン コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

30000	ピクチャのロード エラーです。

30001	ホット スポットが不正です。

30002	CCB ファイルが不正です。

30003	現在のフレームはメタファイルではありません。

30004	現在のフレームはアイコンではありません。


エラー メッセージ (コミュニケーション コントロール)

コミュニケーション コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

8000	ポートがオープンされているときは操作できません。

8001	Timeout に設定する値は 1 以上でなければなりません。

8002	ポート番号が不正です。

8003	このプロパティは実行時のみ使えます。

8004	このプロパティは、実行時には値の取得のみ可能です。

8005	ポートは既にオープンされています。

8006	デバイスの ID が不正、またはサポートされていません。

8007	デバイスのボー レートはサポートされていません。

8008	指定されたバイト数は不正です。

8009	既定値のパラメータがエラーです。

8010	他のデバイスにロックされているため使えません。

8011	関数はキューを割り当てることができません。

8012	デバイスはオープンされていません。

8013	デバイスは既にオープンされています。

8014	通信の通知を有効にすることはできません。

8015	通信状態は設定できません。不正なパラメータがあります。

8016	イベント マスクは設定できません。

8018	ポートがオープンされているときに操作できます。

8019	デバイスは使われています。

8020	通信デバイスの読み取りでエラーが発生しました。


エラー メッセージ (グラフ コントロール)

グラフ コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

32000	プロパティの値が不正です。

32001	インデックスが有効範囲にありません。

32002	グラフ イメージの作成でエラーが発生しました。


エラー メッセージ (MAPI コントロール)

MAPI コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

32001	ユーザーがプロセスをキャンセルしました。

ユーザーが処理を取り消しました。動作は完了していません。

32002	予期せぬエラーが発生しました。

操作の実行中に、予期しないエラーが発生しました。たとえば、メールの削除に失敗した、またはアドレス指定が正しく実行できない、などのエラーが発生しました。

32003	ログインできません。

既定のサインイン アドレスが存在しません。ユーザーは正常にサインインできませんでした。

32004	ディスクの空き容量が不足しています。

ディスクの空き容量が不足しています。ディスクにファイルを作成できませんでした。

32005	メモリが足りません。

メモリ不足で動作を実行できません。

32006	アクセスが拒否されました。

32007	失敗しました。

予期しないエラーが発生しました。

32008	セッションの数が多すぎます。

同時に実行されているセッションの数が多すぎます。

32009	ファイルの数が多すぎます。

メッセージの添付ファイルの数が多すぎます。メールは送信または受信できませんでした。

32010	受信者の数が多すぎます。

指定されているメッセージの受信者の数が多すぎます。メールは送信または受信できませんでした。

32011	添付ファイルが見つかりません。

指定された添付ファイルが見つかりません。メールは送信されませんでした。

32012	添付ファイルをオープンできません。

メッセージにファイルを添付できません。メールは送信されませんでした。AttachmentPathName プロパティの値が有効かどうかを確認してください。

32013	添付ファイルを書き込めません。

添付ファイルを一時ファイルに書き込めませんでした。ディレクトリへのアクセス権を調べてください。

32014	受信者が見つかりません。

指定した受信者がアドレス帳に表示されていません。メールは送信されませんでした。

32015	受信者のタイプが不正です。

受信者の種類が正しくありません。種類の指定に有効な値は、1 (メインの受信者)、2 (コピーの受信者)、および 3 (ブラインド コピーの受信者) です。

32016	メッセージがありません。

次のメッセージが見つかりません。

32017	メッセージが不正です。

無効なメッセージ ID が使用されました。動作は完了しませんでした。

32018	テキストが長すぎます。

メッセージのテキストが長すぎて送信できません。メールは送信されませんでした。テキストの長さの上限は 32KB です。

32019	セッションが不正です。

無効なセッション ID が使用されました。MAPI メッセージ コントロールを有効なメッセージ セッションに関連付けるには、MAPI メッセージ コントロールの SessionID プロパティに MAPI セッション コントロールの SessionID プロパティの値を設定します。

32020	サポートされていないタイプです。

32021	指定の受信者を特定できません。

無効な受信者アドレスが 1 つまたは複数あります。RecipAddress プロパティに指定したアドレスが有効かどうかを確認してください。

32022	メッセージは現在使われています。

32023	ネットワーク エラーです。

32024	AddressEditfieldCount プロパティの値が不正です。

AddressEditFieldCount プロパティの値が無効です。有効な値は 0 ～ 4 の範囲の値です。

32025	受信者が不正です。

無効な受信者アドレスが 1 つまたは複数あります。RecipAddress プロパティに指定したアドレスが有効かどうかを確認してください。

32026	サポートされていません。

指定した操作は、このメール システムではサポートされていません。

32027	ユーザーは直前の動作を中止しました。

32050	ログオン エラー: 有効なセッション ID が既に存在します。

MAPI メッセージ コントロールは、有効なセッション ID を既に使用しています。

32051	作成バッファを使っていないとき、このプロパティは値の取得のみ可能です。MsgIndex プロパティに -1 を設定してください。

32052	この動作は作成バッファが有効なときのみ可能です。MsgIndex プロパティに -1 を設定してください。

32053	MAPI エラー: 有効なセッション ID がありません。

MAPI メッセージ コントロールは、MAPI セッション コントロールから取得した有効なセッション ハンドルを持っていません。

32054	作成バッファに差出人がありません。

作成バッファで操作している場合 (MsgIndex プロパティの設定値が 1 のとき) は、メッセージの差出人に関する情報を見ることはできません。

32055	指定された動作は、作成バッファで無効です。

実行しようとした動作は、作成バッファで操作している場合 (MsgIndex プロパティの値が 1 のとき) には実行できません。

32056	動作は実行できません。リストにメッセージがありません。

32057	動作は実行できません。受信者がありません。

32058	動作は実行できません。添付ファイルがありません。


エラー メッセージ (マルチメディア MCI コントロール)

マルチメディア MCI コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

30001	ボタンを作成できません。

30002	タイマ リソースを作成できません。

30003	文字列を作成できません。文字列が長すぎるか、またはメモリが不足しています。


エラー メッセージ (アウトライン コントロール)

アウトライン コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

32000	このピクチャのファイル形式はサポートしていません。

32001	不正なアウトライン インデントです。

32002	メモリが足りません。

32003	Parent は展開されていません。

32004	不明なエラーです。


エラー メッセージ (ピクチャ クリップ コントロール)

ピクチャ クリップ コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

32000	サポートされていないピクチャ形式です。

ピクチャ クリップ コントロールに読み込むことができるのは、ビットマップ形式 (.BMP) のファイルだけです。

32001	ディスプレイ コンテキストを取得できません。

32002	メモリ デバイス コンテキストを取得できません。

32003	ビットマップを取得できません。

32004	ビットマップ オブジェクトを選択できません。

32005	内部ピクチャ構造体を確保できません。

32006	GraphicCell プロパティのインデックス番号が不正です。

GraphicCell プロパティで指定する引数 index が有効な範囲にありません。この引数として指定できるのは、0 ～ (PicClip.Rows * PicClip.Cols) -1 の範囲の値です。

32007	GraphicCell プロパティのピクチャサイズが指定されていません。

32008	GraphicCell プロパティで参照できるピクチャはビットマップ形式だけです。

32010	ピクチャが不正です。

32012	Windows の GetObject() 関数の呼び出しに失敗しました。

32014	Windows の CreateCompatibleDC() 関数の呼び出しに失敗しました。

32015	クリップ領域の指定がソース ビットマップの範囲内にありません。

ランダム アクセスでクリップ領域を指定する場合、ClipHeight プロパティおよび ClipWidth プロパティで指定した領域が、ピクチャ クリップ コントロールに読み込んだビットマップの範囲内にありません。

32016	セルのサイズが小さすぎます。1 ピクセルごとに 1 以上指定する必要があります。

32017	Rows プロパティには 1 以上の値を設定してください。

32018	Cols プロパティには 1 以上の値を設定してください。

32019	StretchX プロパティに負の値は設定できません。

32020	StretchY プロパティに負の値は設定できません。

32021	ピクチャが割り当てられていません。


エラー メッセージ (スピン ボタン コントロール)

スピン ボタン コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

30000	このプロパティに負の値は設定できません。

Delay、BorderThickness、ShadowThickness、および TdThickness プロパティには、負の値を設定できません。


エラー メッセージ (3D コントロール)

3D コントロールの、コマンド ボタン、グループ プッシュ ボタン、およびパネルのトラップできるエラーは次のとおりです。チェック ボックス、フレーム、およびオプション ボタンの、その他の 3D コントロールには、トラップできるエラーはありません。

3D コマンド ボタン コントロール

エラー番号	メッセージの内容

30000	サポートされているピクチャ形式はビットマップ形式 (.BMP) と アイコン (.ICO) 形式だけです。

3D コマンド ボタン コントロールの Picture プロパティで指定できるのは、ビットマップ形式 (.BMP) およびアイコン形式 (.ICO) のグラフィックスです。

30004	BevelWidth プロパティの値は 0 ～ 10 の範囲で指定してください。

傾斜面の幅に無効な値が設定されています。

3D グループ プッシュ ボタン コントロール

エラー番号	メッセージの内容

30001	サポートされているピクチャ形式はビットマップ (.BMP) 形式だけです。

3D グループ プッシュ ボタン コントロールの Picture プロパティで指定できるのは、ビットマップ (.BMP) 形式のグラフィックスです。

30005	GroupNumber プロパティの値は 0 ～ 99 の範囲で指定してください。

GroupNumber プロパティに無効な値が設定されています。

30007	BevelWidth プロパティの値は 0 ～ 2 の範囲で指定してください。

傾斜面の幅に無効な値が設定されています。

3D パネル コントロール

エラー番号	メッセージの内容

30002	BevelWidth プロパティの値は 0 ～ 30 の範囲で指定してください。

BevelWidth プロパティに無効な値が設定されています。

30003	BorderWidth プロパティの値は 0 ～ 30 の範囲で指定してください。

BorderWidth プロパティに無効な値が設定されています。

30006	FloodPercent プロパティの値は 0 ～ 100 の範囲で指定してください。

FloodPercent プロパティに無効な値が設定されています。


Image プロパティ (カスタム コントロール)

関連項目

他のオブジェクトと共に使用するイメージ リスト コントロールの ListImage オブジェクトを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Image [= index]

Image プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button、Node、Tab のいずれかのオブジェクトへの参照を表すオブジェクト式を指定します。

index	object と共に使用する ListImage オブジェクトを識別する整数または固有の文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

Image プロパティを設定する前に、ツールバー コントロール、ツリー ビュー コントロール、またはタブ ストリップ コントロールの ImageList プロパティをイメージ リスト コントロールに設定して、イメージ リスト コントロールをこれらのコントロールに関連付けます。

デザイン時には、フォーム上にイメージ リスト コントロールを配置し、イメージと共にこれをロードします。各イメージは ListImage オブジェクトとして、ListImages コレクションの中でインデックス番号が割り当てられています。使用するコントロールのプロパティ ページ ダイアログ ボックスの [全般] タブまたは [General] タブで、[ImageList] リスト ボックスから、目的のイメージ リスト コントロールを選択します。Tab オブジェクトおよび Button オブジェクトの場合、[タブ] タブまたは [ボタン] タブの [Image] フィールドに、特定の ListImage オブジェクトのインデックス番号を入力することで、これらのオブジェクトに関連付けるイメージを指定します。

実行時には、イメージ リスト コントロールをコントロールに関連付け、ListImage オブジェクトを特定のオブジェクトに関連付けます。次のコードを参照してください。

Set TabStrip1.ImageList=ImageList1

TabStrip1.Tabs(1).Image=2

Key プロパティを使用して、イメージ リスト コントロールの ListImage オブジェクトを指定すると、コードがわかりやすくなります。

' ListImage オブジェクトの Key プロパティの値を

' "close" として、このイメージをツールバー ボタンに使用します。

Toolbar1.Buttons(1).Image = "close"

' こうすると、次に示すような Index 値だけを指定するよりもわかりやすくなります。

Toolbar1.Buttons(1).Image = 4 ' Index プロパティが 4 の

' ListImage オブジェクトが、"close" のイメージの場合。

また、Key プロパティを使用して ListImage オブジェクトを指定すると、コレクションに ListImage オブジェクトを追加または削除されて変更する Index プロパティの値が変わっても、これを考慮せずに済みます。Tabs コレクションにイメージがない場合、index の値は -1 です。


関連項目

Add メソッド、ListImages コレクション

イメージ リスト コントロール

Index プロパティ

Key プロパティ


Index プロパティ (カスタム コントロール)

関連項目

コレクション内の固有のオブジェクトを識別する値を設定します。値の取得も可能です。

構文

object.Index

引数 object には、Button、ColumnHeader、ListImage、ListItem、Node、Panel、Tab のいずれかのオブジェクトへの参照を表すオブジェクト式を指定します。


関連項目

Key プロパティ


Key プロパティ (カスタム コントロール)

関連項目

コレクション内の固有のメンバを識別する文字列を設定します。値の取得も可能です。

構文

object.Key [= string]

Key プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button、ColumnHeader、ListImage、ListItem、Node、Panel、Tab のいずれかのオブジェクトへの参照を表すオブジェクト式を指定します。

string	コレクション内のメンバを識別する固有の文字列を指定します。

解説

文字列が重複すると、エラーが発生します。

Add メソッドを使用してオブジェクトをコレクションに追加する場合、Key プロパティを設定できます。


関連項目

Add メソッド

Index プロパティ


Max、Min プロパティ (カスタム コントロール)

Max プロパティ
コントロールの最大値を設定します。値の取得も可能です。

Min プロパティ
コントロールの最小値を設定します。値の取得も可能です。

構文

object.Max [= integer]

object.Min [= integer]

Max プロパティおよび Min プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	プログレスバー コントロールまたはスライダ コントロールへの参照を表すオブジェクト式を指定します。

integer	最大値または最小値を整数で指定します。

解説

Max プロパティおよび Min プロパティを使用して、コントロールの範囲を定義します。

Min プロパティを Max プロパティよりも大きな値に設定すると、エラーが発生します。

プログレスバー コントロールの場合、Min プロパティを Max プロパティと同じ値に設定することはできません。また、Min プロパティは 0 以上であることが必要です。プログレスバー コントロールでは、Max プロパティの既定値が 100、Min プロパティの既定値が 0 に設定されています。この範囲は、操作の継続時間を表します。


ToolTipText プロパティ (カスタム コントロール)

関連項目

ボタン名を設定します。値の取得も可能です。

構文

object.ToolTipText [= string]

ToolTipText プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button オブジェクトまたは Tab オブジェクトへの参照を表すオブジェクト式を指定します。

string	オブジェクトの下の小さな四角形に表示される、Tab オブジェクトまたは Button オブジェクトに関連する文字列を指定します。実行時にポインタを約 1 秒間オブジェクトの上で停止させると、表示されます。

解説

このプロパティを使用すると、オブジェクトのラベルとしてイメージしか設定していない場合にも、各オブジェクトに簡単な解説を加えることができます。実行時に、ToolTipText プロパティで指定した文字列を表示するには、ShowTips プロパティを真 (True) に設定します。

デザイン時に、ToolTipText プロパティの文字列を設定するには、ツールバー コントロールの場合 [ツールバー コントロールのプロパティ] ダイアログ ボックスの [ボタン] タブで、またタブ ストリップ コントロールの場合は [タブストリップ コントロールのプロパティ] ダイアログ ボックスの [タブ] タブで指定します。


関連項目

ShowTips プロパティ


ShowTips プロパティ (カスタム コントロール)

関連項目

オブジェクトのボタン名が表示されるかどうかを設定します。値の取得も可能です。

構文

object.ShowTips [= value]

ShowTips プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールまたはツールバー コントロールへの参照を表すオブジェクト式を指定します。

value	ボタン名が表示されるかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

設定値 	内容

True	(既定値) コントロール内の各オブジェクトには、ToolTipText プロパティで設定した文字列が、オブジェクトの下の小さな四角形に表示されます。実行時にポインタを約 1 秒間オブジェクトの上で停止させると、この文字列が表示されます。

False	実行時に、文字列は表示されません。

解説

デザイン時に ShowTips プロパティを設定するには、コントロールのプロパティ ページ ダイアログ ボックスの [全般] タブまたは [General] タブで指定します。


関連項目

ToolTipText プロパティ


ImageList プロパティ (カスタム コントロール)

関連項目

他のコントロールに関連付けるイメージ リスト コントロールを設定します。値の取得も可能です。

構文

object.ImageList [= imagelist]

ImageList プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロール、ツールバー コントロール、またはツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

imagelist	使用するイメージ リスト コントロールをオブジェクト参照で指定します。

解説

ほかのコントロールで ImageList プロパティを使用する場合、まずフォーム上にイメージ リスト コントロールを配置します。デザイン時では、そのコントロールの プロパティ ページ ダイアログ ボックスの中で、コンボ ボックスから ImageList プロパティを設定します。コンボ ボックスには、フォーム上にあるすべてのイメージ リスト コントロールの名前が一覧されます。実行時には、イメージ リスト コントロールをコントロールに関連付けるために、使用するイメージ リスト コントロールを、コントロールの ImageList プロパティに設定します。次のコードを参照してください。

Set TabStrip1.ImageList = ImageList1


関連項目

イメージ リスト コントロール


Clear メソッド (カスタム コントロール)

関連項目 	例

コレクション内のすべてのオブジェクトを消去します。

構文

object.Clear

引数 object には、Buttons、ColumnHeaders、ListImages、ListItems、Nodes、Panels、Tabs のいずれかのコレクションへの参照を表すオブジェクト式を指定します。

解説

コレクションから 1 つのオブジェクトを削除する場合、Remove メソッドを使用します。


関連項目

Remove メソッド


Clear メソッド (カスタム コントロール) の例

次のプログラムでは、6 個の Panel オブジェクトをステータス バー コントロールに追加して、合計で 7 個の Panel オブジェクトを作成します。フォーム上でクリックして Panel オブジェクトの個数が 7 個に達すると、すべてのPanel オブジェクトが消去されます。Panel オブジェクトの個数が 7 個未満の場合、フォーム上でクリックするたびに、新たな Panel オブジェクトがコントロールに追加されます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォーム上でクリックしてすべての Panel オブジェクトを消去します。続けてフォーム上をクリックし、Panel オブジェクトを追加します。

Private Sub Form_Load()

Dim pnlX As Panel	' Panel オブジェクト用のオブジェクト変数を宣言します。

Dim I As Integer

' 既定の 1 つの Panel オブジェクトに 6 個の Panel オブジェクトを追加し、

' 7 個の Panel オブジェクトを作成します。

For I = 1 to 6

Set pnlX = StatusBar1.Panels.Add

Next I

End Sub

Private Sub Form_Click()

' コレクションの Count が 7 の場合、コレクションを消去します。

' それ以外の場合は、Panel オブジェクトを 1 つ追加し、

' コレクションの Count プロパティを使用してその Style プロパティを設定します。

If StatusBar1.Panels.Count = 7 Then

StatusBar1.Panels.Clear

Else

Dim pnlX As Panel

Set pnlX = StatusBar1.Panels.Add( , , "simple", 0)

' Style プロパティは 0 ～ 6 で設定します。Panels の

' Count プロパティ -1 を使用して、新しい Panel に対して、Style プロパティを設定します。

' フォームの幅にかかわらず、すべてのパネルを表示します。

pnlX.minwidth = TextWidth("simple")

pnlX.AutoSize = sbrSpring

pnlX.Style = Statusbar1.Panels.Count - 1

End If

End Sub


Remove メソッド (カスタム コントロール)

関連項目	例

コレクションから特定のメンバを削除します。

構文

object.Remove index

Remove メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	Buttons、ColumnHeaders、ListImages、ListItems、Nodes、Panels、Tabs のいずれかのオブジェクトへの参照を表すオブジェクト式を指定します。

index	コレクション内の固有のオブジェクトを識別する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

コレクションのすべてのメンバを削除する場合、Clear メソッドを使用します。


関連項目

Clear メソッド

Index プロパティ

Key プロパティ


Remove メソッド (カスタム コントロール) の例

次のプログラムでは、6 個の Panel オブジェクトをステータス バー コントロールに追加して、合計で 7 個の Panel オブジェクトを作成します。フォーム上でクリックすると、Panel オブジェクトの個数が確認されます。Panel オブジェクトが 1 つだけの場合、6 個の Panel オブジェクトが追加されます。それ以外の場合は、先頭のパネルが削除されます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォーム上でクリックして Panel オブジェクトを 1 つずつ削除します。続けてフォーム上をクリックし、Panel オブジェクトを追加します。

Private Sub Form_Load()

Dim pnlX As Panel    ' Panel オブジェクト用のオブジェクト変数を宣言します。

Dim i As Integer

' 既定の 1 つの Panel オブジェクトに 6 個の Panel オブジェクトを追加し、

' 7 個の Panel オブジェクトを作成します。

For i = 1 To 6

Set pnlX = StatusBar1.Panels.Add(, , , i)

pnlX.AutoSize = sbrSpring

Next i

End Sub

Private Sub Form_Click()

' コレクションの Count が 1 の場合、6 個の Panel オブジェクトを追加します。

' それ以外の場合は、コレクションから先頭のパネルを削除します。

If StatusBar1.Panels.Count = 1 Then

Dim sbrX As Panel

Dim i As Integer

For i = 1 To 6 ' 各パネルは、i で設定されるスタイルを持ちます。

Set sbrX = StatusBar1.Panels.Add(, , , i)

sbrX.AutoSize = sbrSpring

Next i

Else ' 先頭のパネルを削除します。

StatusBar1.Panels.Remove 1

End If

End Sub


Value プロパティ (カスタム コントロール)

関連項目	例

オブジェクトの値を設定します。値の取得も可能です。

構文

object.Value [= integer]

Value プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button オブジェクト、3D チェック ボックス、3D コマンド ボタン、3D グループ プッシュ ボタン、3D オプション ボタン、スライダ、プログレスバーのいずれかのオブジェクトまたはコントロールへの参照を表すオブジェクト式を指定します。

integer	スライダ コントロールの場合、つまみの現在の位置を長整数で指定します。プログレスバー コントロールの場合、プログレスバー コントロールの値を整数で指定します。他のコントロールについては、次の「設定値」を参照してください。

設定値

Button オブジェクトの場合の integer の設定値は次のとおりです。

定数	値	内容

tbrPressed	0	(既定値) ボタンは現在押されています。またはチェックされています。

tbrUnpressed	1	ボタンは現在押されていません。またはチェックされていません。

3D チェック ボックス、3D コマンド ボタン、および 3D グループ プッシュ ボタン コントロールの場合の integer の設定値は次のとおりです。

値	内容

True	ボタンは押されています。

False	(既定値) ボタンは押されていません。

3D オプション ボタン コントロールの場合の integer の設定値は次のとおりです。

値	内容

True	ボタンは選択されています。

False	(既定値) ボタンは選択されていません。

解説

スライダ コントロール
つまみの現在の位置を設定します。値の取得も可能です。Value プロパティの値は、常にスライダ コントロールの Min プロパティの値以上 Max プロパティの値以下の範囲で指定します。

プログレスバー コントロール
操作の開始から終了までの進行状況を設定します。値の取得も可能です。Value プロパティの値は、プログレスバー コントロールで正確に表示されるわけではありません。Value プロパティの値は、常に Min プロパティの値以上 Max プロパティの値以下の範囲で指定します。デザイン時には、使用できません。

3D コマンド ボタン コントロール
ボタンが選択されているかどうかを設定します。値の取得も可能です。デザイン時には、使用できません。プログラムの中で Value プロパティを真 (True) に設定すると、ボタンの Click イベントが呼び出されます。


関連項目

Max、Min プロパティ


Value プロパティ の例 (カスタム コントロール)

次のプログラムでは、Value プロパティを使用して、ツールバー コントロールに表示するアイコンをイメージ リスト コントロールの中から選択します。このプログラムを実行するには、フォーム上にツールバー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Toolbar1_ButtonClick(ByVal Button As Button)

' Key 値を使用して、クリックされたボタンを判断します。

Select Case Button.Key

Case Is "Done"	' チェック ボタン。

If Button.Value = 0 Then	' ボタンはチェックされていません。

Button.Value = 1	' ボタンをチェックします。

' "down" というキーを持つ ListImage オブジェクトを設定します。

Button.Icon = "down"

Else

Button.Value = 0	' ボタンをチェックしません。

' "up" というキーを持つ ListImage オブジェクトを設定します。

Button.Icon = "up"

End If

' ほかの場合も考えられます。

End Select

End Sub


HideSelection プロパティ (カスタム コントロール)

コントロールがフォーカスを失ったときに、選択項目をそのまま反転表示するかどうかを設定します。値の取得も可能です。

構文

object .HideSelection [ = boolean]

HideSelection プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー、リッチテキスト ボックス、ツリー ビューのいずれかのコントロールへの参照を表すオブジェクト式を指定します。

boolean	コントロールのフォーカスが失われたときの表示状態をブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) コントロールのフォーカスが失われたとき、コントロール内の項目の選択は解除されます。

False	コントロールのフォーカスが失われた後でも、項目は選択されたままです。

解説

通常、コントロールのフォーカスが失われると、コントロール内の選択項目は表示されません。これは、プロパティの既定の動作です。

コントロールのフォーカスが失われた後も、選択項目をそのまま選択しておく場合、HideSelection プロパティを偽 (False) に設定します。


Text プロパティ (カスタム コントロール)

例

オブジェクトに格納されるテキストを設定します。値の取得も可能です。

構文

object.Text [= string]

Text プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ColumnHeader、ListItem、Panel、Node のいずれかのオブジェクト、またはリッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

string	オブジェクト内に表示されるテキストを文字列式で指定します。


Text プロパティ (カスタム コントロール) の例

次のプログラムでは、ファイル リスト ボックス (FileListBox) コントロール内のファイル名に、ツリー ビュー コントロールを設定します。ツリー ビュー コントロール内の項目をクリックすると、Text プロパティがメッセージ ボックスに表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびファイル リスト ボックス コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、任意の項目をクリックしてその Text プロパティを表示します。

Private Sub Form_Load()

Dim nodX As Node  ' Node オブジェクト用のオブジェクト変数を宣言します。

Dim i As Integer  ' カウンタとして使用する変数を宣言します。

' ツリー ビュー コントロールに 1 つの Node を追加し、ファイル リスト ボックス コントロールの

' Path プロパティを、自分の Text プロパティとして使用します。

Set nodX = TreeView1.Nodes.Add()

nodX.Text = File1.Path

' 先頭の Node オブジェクトに子ノードを追加します。

' ファイル リスト ボックス コントロールを使用してコントロールを設定します。

For i = 0 To File1.ListCount - 1

Set nodX = TreeView1.Nodes.Add(1, tvwChild)

nodX.Text = File1.List(i)

nodX.EnsureVisible	' すべてのノードを表示します。

Next i

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

' クリックされた Node オブジェクトの Text プロパティを表示します。

MsgBox Node.Text

End Sub


ヘルプに関する補足情報

テキスト ファイル

 をクリックすると簡単な説明が表示されます。

Standard、Professional、Enterprise のすべての Edition に付属するヘルプ

Visual Basic

Biblio

データ マネージャ

Visual Basic の紹介

サンプル アプリケーション

セットアップ ウィザード

Professional Edition および Enterprise Edition に付属するヘルプ

カスタム コントロール リファレンス

Crystal Reports for Visual Basic

ホット スポット エディタの使い方

ODBC

ODBC SQL Server ドライバ

VisData

Enterprise Edition に付属するヘルプ

Enterprise Edition

Visual SourceSafe

Visual SourceSafe アドミニストレータ


セットアップ ウィザードの詳細について説明します。セットアップ ツールキットの詳細については、Visual Basic ヘルプ ファイルを参照してください。


Visual Basic の詳細について説明します。


データ アクセス アプリケーションの詳細について説明します。


データ マネージャ アプリケーションの詳細について説明します。


Visual Basic を紹介します。


SAMPLES.HLP は、Visual Basic に付属する内容のサンプル アプリケーションについて説明します。


Windows 95 コントロールなど、カスタム コントロールについてのリファレンスです。


Crystal Reports の解説書です。Crystal Reports を使用すると、既存のデータベースを使用してカスタム レポート、一覧、および定型書簡を作成できます。


SHED.HLP は、ヘルプ ファイルで使用するグラフィックスのホットスポットを作成するハイパーグラフィックス エディタについて説明します。


OCBCINST.HLP は、ODBC のインストール ツールについて説明します。


DRVSSRVR.HLP は、SQL Server データベースの ODBC ドライバについて説明します。


VISDATA.HLP は、データ アクセス機能のサンプル アプリケーション VisData について説明します。


C 言語で使われる Windows 関数について説明します。


Code Profiler アドインの詳細について説明します。


ENTPRISE.HLP は、コンポーネント マネージャ、リモート データ オブジェクト (RDO)、およびリモート データ コントロールについて説明します。


SSJPADM.HLP は、Visual SourceSafe の管理者を対象とする機能について説明します。


SSJPEXP.HLP は、Visual SourceSafe のユーザーを対象とする機能について説明します。


テキスト ファイルの一覧

Microsoft Visual Basic Version 4.0 の追加情報は、以下のファイルに記載されています。

ファイル名	内容

APILOD.TXT	API ビューワーの使い方を説明します。

LABELS.TXT	タック ラベルの位置情報です。

PACKING.LST	Visual Basic で提供されるファイルの一覧です。

VB4DLL.TXT	Visual Basic で使用するダイナミック リンク ライブラリ (DLL) の作成について説明します。

WIN31API.TXT	16 ビット Windows API 関数のプロシージャ、定数、および型宣言についての情報です。

WIN32API.TXT	32 ビット Windows API 関数のプロシージャ、定数、および型宣言についての情報です。

WINMMSYS.TXT	Windows Version 3.1 のマルチメディア API 関数のプロシージャ、定数、および型宣言についての情報です。


アクセス キー

メニューを開いたり、コマンドを実行したり、コントロールを選択したりするときに、Alt キーと組み合わせて入力するキーを“アクセス キー”と呼びます。たとえば、[ファイル] メニューを開く“Alt + F キー”の F キーがアクセス キーです。


ANSI 文字セット

Microsoft Windows で使用される ANSI (米国規格協会 : American National Standards Institute) の 8 ビットの文字セットです。この文字セットにより、キーボードを使って 256 個の文字 (0 ～ 255) が表現できます。


アプリケーション

Visual Basic で言うアプリケーションとは、プログラム コードと、画面上に表示されるウィンドウやボタンなどのさまざまな要素で構成され、全体として特定の作業を行う 1 つのプログラムです。プログラマは、アプリケーションの作成と実行を Visual Basic 開発環境の中で行います。コンパイルして実行可能ファイル (.EXE) にしておけば、アプリケーションのユーザーは、そのアプリケーションを Visual Basic 開発環境の外で実行できます。


配列

定義済みの同じデータ型を持つ要素の集合で、各要素には順番にインデックス番号が付きます。各要素を識別するには、配列名とインデックス番号を使います。ある要素に変更を加えても、他の要素には影響しません。


ビットマップ

ピクセルで表された画像で、ビットの集まりとして格納されます。各ビットは 1 つのピクセルに対応しています。色を表示する場合は、複数のビットが各ピクセルに対応します。ビットマップのファイル名には、通常、.BMP という拡張子が付きます。


ブール式

真 (True) と偽 (False) のどちらか一方の値に評価される式です。


連結コントロール

データ (Data) コントロールベースに連結可能なコントロールです。データ コントロールを介してデータベース内の特定のフィールドにアクセスできます。連結コントロールは、そのコントロールの DataSource プロパティおよび DataField プロパティを設定することでデータ コントロールに連結されます。データ コントロールを使ってレコード間を移動すると、データ コントロールに連結されているすべてのコントロールの表示が、カレント レコードのフィールドから得たデータに変更されます。ユーザーが連結コントロールの中でデータを変更してから別のレコードに移動すると、その変更は自動的にデータベースに保存されます。


キャンセル ボタン

一般に、ダイアログ ボックスなどに対して行った変更を取り消すときに使うボタンを、“キャンセル ボタン”と呼びます。より狭い意味で、Cancel プロパティが真 (True) に設定されているコマンド ボタンを指すこともあります。この場合、Esc キーを押すかボタンをクリックすると、フォームに対して行った変更が取り消されます。


イベントの連鎖反応

イベント プロシージャが直接または間接的に自分自身を呼び出すことによって発生する、一連のイベントです。イベントの再帰とも呼ばれます。イベントの連鎖反応は、スタック オーバーフローなどの実行時エラーの原因になることがあります。


クリップボード

モジュール間やアプリケーション間でやり取りする文字列などの情報を一時的に入れる場所です。クリップボードに入っている情報は、別のモジュールやアプリケーションに貼り付けることができます。


コレクション

同じ種類のオブジェクト (要素) の集合です。コレクション内における各オブジェクトの位置 (順番) は、コレクションが変更されると変わることがあります。したがって、コレクション内の特定のオブジェクトの位置は必ずしも一定していません。これに対し、配列の各要素の位置は明示的に変更しない限り変わらないので、コレクションと配列はこの点で異なります。


コレクションの構文

コレクションおよびコレクション内のオブジェクトを参照する構文を指します。

Thing オブジェクトを持つ Things コレクションの場合、コレクション自体を表す構文は次のようになります。

object.Things

個々の Thing オブジェクトを参照する構文は、次のいずれかになります。

object.Things.Item(index)

object.Things(index)

引数 index には、コレクション内のオブジェクト固有の整数を指定します。

コレクションの構文についての詳細は、「Using Syntax for Collections」を参照してください。


コンテナ

子フォームやコントロールを含む、親オブジェクトを指します。


定数

特定の値の代わりに使われる名前です。変数の値はプログラムの実行中に変化するのに対し、定数の値は常に同じです。ホスト アプリケーションは、それぞれ独自に定数を定義することができます。Visual Basic には、各種の組み込みの定数が用意されています。また、Const ステートメントを使って、独自の定数を定義することもできます。組み込みの定数もユーザー定義の定数も、コード内に直接値を入力する代わりに使うことができます。定数では、文字列、数値、他の定数や、これらを算術演算子や論理演算子 (Is 演算子を除く) で組み合わせた式を表すことができます。定数を宣言する Const ステートメントの例を次に示します。

Const A = "MyString"


コントロール配列

1 つの名前を持ち、イベント プロシージャを共有する、同じ種類のコントロールをグループ化したものです。配列の要素である各コントロールには、それぞれを区別するために重複しないインデックス番号が付けられます。


コントロール パネル

システム設定を行うプログラムです。コントロール パネルを使うと、画面の色やデザインの設定、フォントの設定、プリンタの設定、日付と時刻の設定、各国対応の設定 (言語や各種の単位) など、ハードウェアやソフトウェアに関するさまざまな設定を行うことができます。


カレント レコード

Recordset オブジェクトにあるレコードの中の、データを変更したり見たりできるレコードです。レコードセット内でカレント レコードの位置を変えるには、Movexxx メソッドを使います。特定の抽出条件に従ってカレント レコードの位置を変更するには、Findxxx メソッド (ダイナセット タイプおよびスナップショット タイプの Recordset オブジェクトの場合) または Seek メソッド (テーブル タイプの Recordset オブジェクトの場合) を使ってください。

1 つの Recordset オブジェクトの中でカレント レコードになれるレコードは 1 つだけです。ただし、Recordset オブジェクトにカレント レコードが 1 つもない場合があります。たとえば、ダイナセット タイプの Recordset オブジェクトのレコードを削除した後、または、Recordset オブジェクトにレコードが 1 つもない場合、カレント レコードは未定義となります。この場合、カレント レコードを参照するような操作を行うとトラップ可能なエラーが発生します。


カスタム コントロール

拡張子 .OCX の付いたファイル、または挿入可能なオブジェクトです。[カスタム コントロール] ダイアログ ボックスを使って、カスタム コントロールをプロジェクトに追加すると、ツールボックスに追加されます。カスタム コントロールには、プログレス バー コントロール、ステータス バー コントロールなどがあります。


データ型

変数や定数、関数の戻り値などのデータの特性を指し、属性や保持できるデータの種類を決定します。主なデータ型としては、バイト型 (Byte)、ブール型 (Boolean)、整数型 (Integer)、長整数型 (Long)、通貨型 (Currency)、単精度浮動小数点数型 (Single)、倍精度浮動小数点数型 (Double)、日付型 (Date)、文字列型 (String)、オブジェクト型、バリアント型 (Variant) (既定値)、ユーザー定義型、固有オブジェクト型があります。


デザイン時

Visual Basic で、コントロールの作成、コントロールやフォームのプロパティの設定、コードの記述など、アプリケーションのデザイン (設計) を行っているときを、“デザイン時”と呼びます。デザイン時には、メイン ウィンドウのタイトルに“[デザイン]”と表示されます。これに対して、アプリケーションを Visual Basic で実行しているときを、“実行時”と呼びます。


デバイス コンテキスト

Windows 対応アプリケーション、デバイス ドライバ、出力デバイス (ディスプレイ、プリンタ、プロッタなど) 間でのリンクを指します。


実行可能ファイル

Visual Basic 開発環境の外で実行できる Windows 対応アプリケーションを指します。実行可能ファイルの拡張子は、.EXE です。


式

文字列、数値、オブジェクトのいずれかに評価され、キーワード、演算子、変数、定数の組み合わせを指します。計算、文字列の処理、データのテストなどを行うときに式が使われます。


フラグ

アプリケーションの状態を管理するために使う変数です。通常、フラグを設定するには、定数または定数の組み合わせを使います。


フォーカス

Microsoft Windows では、マウスのクリックやキーボード入力を受け取ることができるのは、一度に 1 つのウィンドウやオブジェクトだけです。入力を受け取ることができるオブジェクトは“フォーカスを持っている”といいます。フォーカスは、ユーザーかアプリケーションによって設定されます。通常、フォーカスを持っているオブジェクトは、キャプションかタイトル バーが強調表示されます。


フォーム

Visual Basic で作成したウィンドウまたはダイアログ ボックスを総称して“フォーム”と呼びます。フォームは、コントロールのコンテナとして機能します。また MDI フォームは、コントロール以外に子フォームのコンテナとなることができます。


ハンドル

オペレーティング システムによって定義される、重複しない整数値です。フォームやコントロールなどのオブジェクトを識別したり、アクセスしたりするために、プログラムによって利用されます。


アイコン

目的やコンセプトを記号化して表現したものを指します。Microsoft Windows では、アプリケーションを最小化したときにアイコンが使われます。アイコンはビットマップで表され、最大サイズは 32 × 32 ピクセルです。アイコンのファイル拡張子は .ICO です。


内部領域

マルチ ドキュメント インターフェイス (MDI) フォーム内の領域で、MDI 子フォームを表示するために使われます。内部領域には、MDI フォームのタイトル バー、境界線、メニュー バー、および MDI フォーム上で整列されたコントロールは含まれません。クライアント領域とも呼ばれます。


凡例

オブジェクトが対象。

コレクションが対象。

オブジェクトとコレクションが対象。


名前付き引数

あらかじめ指定されている名前を持った引数を指します。名前付き引数を使うと、構文で決まっている順序と関係なく、任意の順序で必要な引数だけを指定することができます。たとえば、引数を 3 つ受け取る次のようなメソッドがあるとします。

DoSomeThing namedarg1, namedarg2, namedarg3

名前付き引数を使うと、次のように引数を指定することができます。

DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20

この例では、名前付き引数を使って、構文とは異なる順序で目的の引数だけを指定しています。


数式

1 つの数値と評価される式です。キーワード、変数、定数、演算子の任意の組み合わせで構成されます。


オブジェクト ブラウザ

現在のプロジェクトで利用できるすべてのオブジェクト、プロシージャ、メソッド、プロパティなどの項目の一覧を表示するダイアログ ボックスです。


オブジェクト式

特定のオブジェクトを指定する式です。オブジェクト式には、その構成要素としてオブジェクトのコンテナが含まれることもあります。たとえば、Application オブジェクトの中に Document オブジェクトが含まれ、Document オブジェクトの中に Text オブジェクトが含まれる場合、次のオブジェクト式はいずれも有効な式です。

Application.Document.Text

Application.Text

Document.Text

Text


オブジェクト ライブラリ

OLE オートメーション コントローラ (Visual Basic など) に、利用可能な OLE オートメーション オブジェクトについての情報を渡すファイルで、拡張子は .OLB です。オブジェクト ブラウザを使うと、特定のオブジェクト ライブラリの内容を調べて、利用可能なオブジェクトについて知ることができます。


オブジェクト変数

オブジェクトを参照する変数です。


親フォーム

コントロールを含むフォームです。


継続表示属性を持つビットマップ

Picture プロパティを使ってアクセスするビットマップです。メモリ上のグラフィックス メソッドによる出力を保持します。この出力、つまり“継続表示属性を持つグラフィックス”は、ほかのウィンドウの後ろに隠れているフォームを再表示するときなど、ある種の画面イベントが発生したときに自動的に保存されます。グラフィックスが継続表示属性を持つのは、AutoRedraw プロパティが真 (True) に設定されている場合です。


プロパティ ウィンドウ

選択されているフォームやコントロールのデザイン時のプロパティを表示したり、変更するために使うウィンドウです。カスタム コントロールには、独自のプロパティ ウィンドウを持つものもあります。


レジストリ

Windows Version 3.1 では、OLE の登録情報とファイルの関連付けはレジストリに格納されます。プログラムの設定は、Windows の SYSTEM ディレクトリの初期化ファイル (.INI) に格納されます。Windows 95 では、レジストリはユーザー、アプリケーション、およびマシン固有の情報を格納するための集中構成情報データベースとして機能します。Windows 95 のレジストリには、Windows Version 3.1 のレジストリと初期化ファイルの両方に含まれる情報が格納されています。


実行時

コードが実行されているときを“実行時”と呼びます。


ソース

ダイナミック データ エクスチェンジ (DDE) をサポートする複数のプログラムが同時に実行されている場合に、情報やコマンドを送る側のアプリケーション、フォーム、またはコントロールです。


文字列式

1 つの文字列に評価される式です。文字列を返す関数、リテラル文字列、文字列定数、文字列変数、VarType 8 (文字列) のバリアント型 (Variant) の変数や関数、文字列演算子の組み合わせで構成されます。


タイトル バー

ウィンドウの最上部に表示されている水平のバーです。ここには、そのウィンドウの名前 (タイトル)、またはキャプションが表示されます。


ボタン名の表示

ツールバー ボタンなどの簡単な説明やボタン名が表示される機能です。ポインタをオブジェクト上で停止させると表示されます。


Windows API

API は、アプリケーション プログラム インターフェイス (Application Program Interface) の略です。Microsoft Windows の環境で実行するアプリケーションで使う、関数、メッセージ、データ構造、データ型、ステートメントで構成されています。API の情報で最も良く利用するのは、Windows API 関数を呼び出すために定義する、コード要素です。これらは、プロシージャ宣言 (Windows 関数に対する)、ユーザー定義型 (関数に渡されるデータ構造)、定数宣言 (関数に渡され、関数から返される値) を含んでいます。


Z オーダー

フォーム上でコントロールがどのように重なり合うかを決める相対的な順序です。


3D コントロールの定数

関連項目

AlignTo 定数

定数	値	説明

ssTextRight	0	文字列を右へ。

ssTextLeft	1	文字列を左へ。

AlignFrameText 定数

定数	値	説明

ssLeftJustify	0	文字列を左揃え。

ssRightJustify	1	文字列を右揃え。

ssCenter	2	文字列を中央揃え。

AlignPanelText 定数

定数	値	説明

ssLeftTop	0	文字列を左上へ。

ssLeftMiddle	1	文字列を左中央へ。

ssLeftBottom	2	文字列を左下へ。

ssRightTop	3	文字列を右上へ。

ssRightMiddle	4	文字列を右中央へ。

ssRightBottom	5	文字列を右下へ。

ssCenterTop	6	文字列を中央上へ。

ssCenterMiddle	7	文字列を中心へ。

ssCenterBottom	8	文字列を中央下へ。

AutoSizeButton 定数

定数	値	説明

ssNone	0	自動サイズ調整なし。

ssPictureToButton	1	ピクチャからボタンへ自動サイズ調整。

ssButtonToPicture	2	ボタンからピクチャへ自動サイズ調整。

AutoSizePanel 定数

定数	値	説明

ssNone	0	自動サイズ調整なし。

ssWidthToCaption	1	キャプションに合わせてパネル幅を自動サイズ調整。

ssHeightToCaption	2	キャプションに合わせてパネルの高さを自動サイズ調整。

ssChildToPanel	3	パネルに合わせて子フォームを自動サイズ調整。

Bevel 定数

定数	値	説明

ssNone	0	内側の傾斜面なし。

ssInset	1	内側の傾斜面がくぼんでいる。

ssRaised	2	内側の傾斜面が浮き出ている。

FloodType 定数

定数	値	説明

ssNone	0	塗りつぶしなし。

ssLeftToRight	1	左から右へ塗りつぶし。

ssRightToLeft	2	右から左へ塗りつぶし。

ssTopToBottom	3	上から下へ塗りつぶし。

ssBottomToTop	4	下から上へ塗りつぶし。

ssWideningCircle	5	広い円内を塗りつぶし。

Font3D 定数

定数	値	説明

ssNone	0	3D テキスト フォントなし。

ssRaisedLight	1	フォントが少し浮き出ている。

ssRaisedHeavy	2	フォントが大きく浮き出ている。

ssInsetLight	3	フォントが少しくぼんでいる。

ssInsetHeavy	4	フォントが大きくくぼんでいる。

PictureDnChange 定数

定数	値	説明

ssNoChange	0	ビットマップを変更しないで利用。

ssDither	1	ビットマップのディザリング。

ssInvert	2	ビットマップの反転。

Shadow Color 定数

定数	値	説明

ssDarkGrey	0	濃い灰色の影。

ssBlack	1	黒い影。

ShadowStyle 定数

定数	値	説明

ssInset	0	くぼんだ影。

ssRaised	1	浮き出た影。


アニメーション ボタン コントロールの定数

関連項目

Cycle 定数

定数	値	説明

aniHalfHalf	0	アニメーション ボタンを表示。

aniByFrame	1	自動マルチステート ボタンを表示。

aniTwoStateHalfHalf	2	2 ステート アニメーション ボタンを表示。

ClickFilter 定数

定数	値	説明

aniAnywhere	1	アニメーション ボタンの任意の部分でマウス クリックを認識。

aniTextOrPicture	2	キャプション文字列またはイメージ フレームでマウス クリックを認識。

aniPictureOnly	3	イメージ フレームでマウス クリックを認識。

aniTextOnly	4	キャプション文字列でマウス クリックを認識。

PictDrawMode 定数

定数	値	説明

aniAsDefined	0	イメージ フレームの位置を X 座標および Y 座標で設定。

aniAutoSize	1	サイズ変更モードを自動制御。

aniStretch	2	イメージ フレームをアニメーション ボタンに合わせて調整。

TextPos 定数

定数	値	説明

aniTextOnPicture	0	キャプションの位置を X 座標および Y 座標で設定。

aniTextLeft	1	イメージ フレームの位置をコントロールの左に設定。

aniTextRight	2	イメージ フレームの位置をコントロールの右に設定。

aniTextBelow	3	イメージ フレームの位置をコントロールの下に設定。

aniTextAbove	4	イメージ フレームの位置をコントロールの上に設定。


ゲージ コントロールの定数

関連項目

Style 定数

定数	値	説明

gauHoriz	0	水平な線ゲージ (塗りつぶし)。

gauVert	1	垂直な線ゲージ (塗りつぶし)。

gauSemi	2	半円の針ゲージ。

gauFull	3	全円の針ゲージ。


グラフ コントロールの定数

関連項目

AutoInc 定数

定数	値	説明

gphOff	0	自動増分なし。

gphOn	1	自動増分あり。

DrawLineStyle and LegendStyle 定数

定数	値	説明

gphMonochrome	0	背景を白、全色を黒に設定。

gphColor	1	指定した色を使用。

GraphType 定数

定数	値	説明

gphNone	0	グラフ非表示。

gphPie2d	1	2D の円グラフ。

gphPie3d	2	3D の円グラフ。

gphBar2d	3	2D の棒グラフ。

gphBar3d	4	3D の棒グラフ。

gphGantt	5	ガント チャート。

gphLine	6	折れ線グラフ。

gphLogLin	7	片対数折れ線グラフ。

gphArea	8	面グラフ。

gphScatter	9	散布図。

gphPolar	10	レーダー チャート。

gphHLC	11	高低グラフ。

BackgroundColor、ForegroundColor、および ColorData 定数

定数	値	説明

gphBlack	0	黒。

gphBlue	1	濃い青。

gphGreen	2	緑。

gphCyan	3	濃い水色。

gphRed	4	濃い赤。

gphMagenta	5	濃い紫。

gphBrown	6	濃い黄色。

gphLightGray	7	明るい灰色。

gphDarkGray	8	濃い灰色。

gphLightBlue	9	青。

gphLightGreen	10	緑。

gphLightCyan	11	水色。

gphLightRed	12	赤。

gphLightMagenta	13	紫。

gphYellow	14	黄。

gphWhite	15	白。

gphAutoBW	16	(既定値) 自動モノクロ。Foreground 定数にのみ使用。

SymbolData 定数

定数	値	説明

gphCrossPlus	0	Plus (+)。

gphCrossTimes	1	Cross (x)。

gphTriangleUp	2	Triangle (up)。

gphSolidTriangle	3	Solid triangle (up)。

gphTriangleDown	4	Triangle (Upside-down)。

gphSolidTriangle	5	Solid triangle。

gphSquare	6	Square。

gphSolidSquare	7	Solid square。

gphDiamond	8	Diamond。

gphSolidDiamond	9	Solid diamond。

GridStyle 定数

定数	値	説明

gphNone	0	目盛線なし。

gphHorizontal	1	水平軸上。

gphVertical	2	垂直軸上。

gphBoth	3	水平および垂直軸上。

DataReset 定数

定数	値	説明

gphNone	0	リセットなし。

gphGraphData	1	グラフのデータをリセット。

gphColorColorData	2	色のデータをリセット。

gphExtraData	3	補足データをリセット。

gphLabelText	4	ラベル テキストをリセット。

gphLegendText	5	凡例テキストをリセット。

gphPatternData	6	パターン データをリセット。

gphSymbolData	7	シンボル データをリセット。

gphXPosData	8	X 位置のデータをリセット。

gphAllData	9	全データをリセット。

gphFontInfo	10	フォントの情報をリセット。

DrawMode 定数

定数	値	説明

gphNoAction	0	デザイン時に作成したグラフなし。

gphClear	1	デザイン時に作成したグラフはないが、プロパティは表示。

gphDraw	2	デザイン時と実行時にグラフ表示。

gphBlit	3	Windows API の BitBlt 関数を使用して表示。

gphCopy	4	グラフをクリップボードにコピー。

gphPrint	5	グラフをプリンタに出力。

gphWrite	6	グラフをディスクに書き込む。

FontStyle 定数

定数	値	説明

gphDefault	0	標準の文字。

gphItalic	1	斜体。

gphBold	2	太字。

gphBoldItalic	3	太字および斜体。

gphUnderlined	4	下線。

gphUnderlinedItalic	5	下線および斜体。

gphUnderlinedBold	6	下線および太字。

gphUnderlinedBoldItalic	7	下線、太字、および斜体。

FontFamily 定数

定数	値	説明

gphRoman	0	Roman

gphSwiss	1	Swiss

gphModern	2	Modern

FontUse 定数

定数	値	説明

gphGraphTitle	0	グラフ タイトル。

gphOtherTitles	1	その他のタイトル。

gphLabels	2	ラベル。

gphLegend	3	凡例。

gphAllText	4	すべての文字列。

IndexStyle 定数

定数	値	説明

gphStandard	0	ThisPoint プロパティをインデックスとして使用。

gphEnhanced	1	配列プロパティの種類によってインデックスを使い分ける。

Labels 定数

定数	値	説明

gphOff	0	ラベル非表示。

gphOn	1	X 軸および Y 軸にラベル表示。

gphXAxisLabelsOnly	2	X 軸のラベルのみ表示。

gphYAxisLabelsOnly	3	Y 軸のラベルのみ表示。

LineStats 定数

定数	値	説明

gphNone	0	(既定値) なし。

gphMean	1	平均線。

gphMinmax	2	最小線および最大線。

gphMeanMinmax	3	平均線、最小線、および最大線。

gphStddev	4	標準偏差線。

gphStddevMean	5	標準偏差線および平均線。

gphStddevMinmax	6	標準偏差線、最小線、および最大線。

gphStddevMinmaxMean	7	標準偏差線、最小線、最大線、および平均線。

gphBestfit	8	回帰直線。

gphBestfitMean	9	回帰直線および平均線。

gphBestfitMinmax	10	回帰直線、最小線、および最大線。

gphBestfitMinmaxMean	11	回帰直線、最小線、最大線、および平均線。

gphBestfitStddev	12	回帰直線および標準偏差線。

gphBestfitStddevMean	13	回帰直線、標準偏差線、および平均線。

gphBestfitStddevMinmax	14	回帰直線、標準偏差線、最小線、および平均線。

gphAll	15	平均線、最小線、最大線、標準偏差線、および回帰直線。

Palette 定数

定数	値	説明

gphDefault	0	標準の表示。

gphPastel	1	ディザリングされたパステル カラー表示。

gphGrayscale	2	グレイスケール表示。

PatternedLines 定数

定数	値	説明

gphPatternOff	0	オフ

gphPatternOn	1	オン

PrintStyle 定数

定数	値	説明

gphMonochrome	0	モノクロ印刷。

gphColor	1	印刷。

gphMonochromeWithBorder	2	境界線付きモノクロ印刷。

gphColorWithBorder	3	境界線付きカラー印刷。

RandomData 定数

定数	値	説明

gphOff	0	オフ

gphOn	1	オン

ThickLines 定数

定数	値	説明

gphLinesOff	0	オフ

gphLinesOn	1	オン

YAxisPos 定数

定数	値	説明

gphDefault	0	標準の表示位置。

gphAlignLeft	1	Y 軸を左端に表示。

gphAlignRight	2	Y 軸を右端に表示。

YAxisStyle 定数

定数	値	説明

gphDefault	0	原点 0 を含む。

gphVariableOrigin	1	Y 軸の範囲をデータの最大値と最小値で設定。

gphUserDefined	2	Y 軸の範囲を YAxisMax、YAxisMin、YAxisTicks の各プロパティで設定。

Ticks 定数

定数	値	説明

gphTicksOff	0	目盛なし。

gphTicksOn	1	X 軸および Y 軸に目盛を入れる。

gphXAxisTicksOnly	2	X 軸だけ目盛を入れる。

gphYAxisTicksOnly	3	Y 軸だけ目盛を入れる。


キー ステータス コントロールの定数

関連項目

Style 定数

定数	値	説明

keyCapsLock	0	CapsLock キー。

keyNumLock	1	NumLock キー。

keyInsert	2	Ins キー。

keyScrollLock	3	ScrollLock キー。


MCI コントロール (マルチメディア) の定数

関連項目

Mode 定数

定数	値	説明

mciModeOpen	524	デバイスを開きます。

mciModeStop	525	デバイスを停止します。

mciModePlay	526	デバイスを再生します。

mciModeRecord	527	デバイスを記録します。

mciModeSeek	528	デバイスを検索します。

mciModePause	529	デバイスを一時停止します。

mciModeReady	530	デバイスを実行待ちにします。

Notify 定数

定数	値	説明

mciNotifySuccessful	1	コマンドを正常終了します。

mciNotifySuperseded	2	コマンドを中止して、ほかのコマンドを実行します。

mciAborted	4	ユーザーによるコマンドを中止します。

mciFailure	8	コマンドが実行できません。

Orientation 定数

定数	値	説明

mciOrientHorz	0	ボタンを横に整列。

mciOrientVert	1	ボタンを縦に整列。

RecordMode 定数

定数	値	説明

mciRecordInsert	0	挿入記録モード。

mciRecordOverwrite	1	上書記録モード。

Format 定数

定数	値	説明

mciFormatMilliseconds	0	ミリ秒形式。

mciFormatHms	1	時、分、秒形式。

mciFormatMsf	2	分、秒、フレーム形式。

mciFormatFrames	3	フレーム形式。

mciFormatSmpte24	4	24 フレーム SMPTE 形式。

mciFormatSmpte25	5	25 フレーム SMPTE 形式。

mciFormatSmpte30	6	30 フレーム SMPTE 形式。

mciFormatSmpte30Drop	7	30 ドロップ フレーム SMPTE 形式。

mciFormatBytes	8	バイト形式。

mciFormatSamples	9	サンプル形式。

mciFormatTmsf	10	トラック、分、秒、フレーム形式。


スピン ボタン コントロールの定数

関連項目

Orientation 定数

定数	値	説明

spnVertical	0	上下方向の矢印になります。

spnHorizontal	1	左右方向の矢印になります。


マスク エデット コントロールの定数

関連項目

ClipMode 定数

定数	値	説明

mskIncludeLiterals	0	切り取りコマンドまたはコピー コマンドの実行時にリテラルを含めます。

mskExcludeLiterals	1	切り取りコマンドまたはコピー コマンドの実行時にリテラルを除外します。


コミュニケーション コントロールの定数

関連項目

Handshake 定数

定数	値	説明

comNone	0	ハンドシェイキングなし。

comXonXoff	1	XON/XOFF ハンドシェイキング。

comRTS	2	(Request To Send/Clear To Send) ハンドシェイキング。

comRTSXOnXOff	3	Request To Send および XON/XOFF ハンドシェイキング。

OnComm 定数

定数	値	説明

comEvSend	1	イベントの送信。

comEvReceive	2	イベントの受信。

comEvCTS	3	Clear To Send 回線内の変化。

comEvDSR	4	Data Set Ready 回線内の変化。

comEvCD	5	Carrier Detect 回線内の変化。

comEvRing	6	リングが検出されました。

comEvEOF	7	ファイルの末尾。

Error 定数

定数	値	説明

comBreak	1001	Break 信号を受信。

comCTSTO	1002	Clear to send タイムアウト。

comDSRTO	1003	Data set ready タイムアウト。

comFrame	1004	フレーミング エラー。

comOverrun	1006	ポート オーバーラン。

comCDTO	1007	Carrier detect タイムアウト。

comRxOver	1008	受信バッファがいっぱいです。

comRxParity	1009	パリティ エラー。

comTxFull	1010	伝送バッファがいっぱいです。


MAPI コントロールの定数

See Also

SessonAction 定数

定数	値	説明

mapSignOn	1	ユーザーのログイン。

mapSignOff	2	セッションの終了。

Delete 定数

定数	値	説明

mapMessageDelete	10	現在のメッセージを削除します。

mapRecipientDelete	14	現在インデックスで指定されている受信を削除します。

mapAttachmentDelete	15	現在インデックスで指定されている添付ファイルを削除します。

MAPIErrors 定数

定数	値	説明

mapSuccessSuccess	32000	処理は正常に終了しました。

mapUserAbort	32001	ユーザーが処理を取り消しました。

mapFailure	32002	予期しないエラーが発生しました。

mapLoginFail	32003	ログインできません。

mapDiskFull	32004	ディスクの空容量が不足しています。

mapInsufficientMem	32005	メモリが足りません。

mapAccessDenied	32006	アクセスが拒否されました。

mapGeneralFailure	32007	予期しないエラーが発生しました。

mapTooManySessions	32008	セッションの数が多すぎます。

mapTooManyFiles	32009	ファイルの数が多すぎます。

mapTooManyRecipients	32010	受信者の数が多すぎます。

mapAttachmentNotFound	32011	添付ファイルが見つかりません。

mapAttachmentOpenFailure	32012	添付ファイルが開けません。

mapAttachmentWriteFailure	32013	添付ファイルを書き込めません。

mapUnknownRecipient	32014	受信者が見つかりません。

mapBadRecipType	32015	受信者の種類が正しくありません。

mapNoMessages	32016	メッセージがありません。

mapInvalidMessage	32017	メッセージが不正です。

mapTextTooLarge	32018	文字列が長すぎます。

mapInvalidSession	32019	セッションが不正です。

mapTypeNotSupported	32020	サポートされていないタイプです。

mapAmbiguousRecipient	32021	指定の受信者を特定できません。

mapMessageInUse	32022	メッセージは現在使われています。

mapNetworkFailure	32023	ネットワーク エラーです。

mapInvalidEditFields	32024	AddressEditFieldCount プロパティの値が不正です。

mapInvalidRecips	32025	受信者が不正です。

mapNotSupported	32026	サポートされていません。

mapUserAbout	32027	ユーザーが処理を中止しました。

mapSessionExist	32050	ログオン エラー : 有効なセッション ID が既に存在しています。

mapInvalidBuffer	32051	作成バッファを使っていないとき、このプロパティは値の取得のみ可能です。

mapInvalidReadBufferAction	32052	この動作は作成バッファが有効なときのみ可能です。MsgIndex プロパティに -1 を設定してください。

mapNoSession	32053	MAPI エラー : 有効なセッション ID がありません。

mapInvalidRecipient	32054	作成バッファに差出人の名前がありません。

mapInvalidComposeBufferAction	32055	作成バッファが有効のため、指定された動作は無効です。

mapControlFailure	32056	動作は実行できません。リストにメッセージがありません。

mapNoRecipients	32057	動作は実行できません。受信者がありません。

mapNoAttachment	32058	動作は実行できません。添付ファイルがありません。

RecipType 定数

定数	値	説明

mapOrigList	0	受信者の種類はメッセージの発信者。

mapToList	1	受信者の種類は宛て先となる受信者。

mapCcList	2	受信者の種類はコピーの受信者。

mapBccList	3	受信者の種類はブラインド コピーの受信者。

AttachType 定数

定数	値	説明

mapData	0	添付ファイルはデータ ファイル。

mapEOLE	1	添付ファイルは埋め込み OLE オブジェクト。

mapSOLE	2	添付ファイルは静的 OLE オブジェクト。


関連項目

エラー メッセージ (MAPI コントロール)

Visual Basic カスタム コントロールの定数


アウトライン コントロールの定数

関連項目

PictureType 定数

定数	値	説明

outClosed	0	PictureClosed ピクチャ。

outOpen	1	PictureOpen ピクチャ。

outLeaf	2	PictureLeaf ピクチャ。

Error 定数

定数	値	説明

outBadPicFormat	32000	ピクチャのファイル形式はサポートしていません。

outBadIndentation	32001	不正なアウトライン インデントです。

outOutOfMemory	32002	メモリが不足しています。

outParentNotExpanded	32003	項目は展開されていません。

Style 定数

定数	値	説明

outTextOnly	0	文字列のみ。

outPictureText	1	ピクチャと文字列。

outPlusMinusText	2	プラス/マイナス記号と文字列。

outPlusPictureText	3	プラス/マイナス記号、ピクチャ、および文字列。

outTreelinesText	4	ツリー ラインと文字列。

outTreelinesPictureText	5	ツリー ライン、ピクチャ、および文字列。


関連項目

Visual Basic カスタム コントロールの定数


Visual Basic カスタム コントロールの定数

次の定数は Microsoft Visual Basic で定義されています。コードを記述するとき、実際の値の代わりに使用することができます。

3D コントロールの定数

アニメーション ボタン コントロールの定数

コミュニケーション コントロールの定数

ゲージ コントロールの定数

グラフ コントロールの定数

イメージ リスト コントロールの定数

キー ステータス コントロールの定数

リスト ビュー コントロールの定数

MAPI コントロールの定数

マスク エデット コントロールの定数

マルチメディア MCI コントロールの定数

リッチテキスト ボックス コントロールの定数

スライダ コントロールの定数

スピン ボタン コントロールの定数

タブ ダイアログ コントロールの定数

ステータス バー コントロールの定数

タブ ストリップ コントロールの定数

ツールバー コントロールの定数

ツリー ビュー コントロールの定数

Windows 95 コントロールの定数

Visual Basic のデータ アクセスおよび Microsoft Visual Basic Applications Edition の定数は、定数の一覧で参照できます。

オブジェクト ブラウザを使用して、組み込み定数の一覧を参照できます。[表示] - [オブジェクト ブラウザ] コマンドを選択し、適切なライブラリと Constants オブジェクトを選択します。[オブジェクト ブラウザ] - [メソッド / プロパティ一覧] ボックスのリストをスクロールすると、すべての定数の一覧を参照できます。


Add

キーワード Add は次の項目で使用されます。

Add メソッド (Buttons コレクション)

Add メソッド (ColumnHeaders コレクション)

Add メソッド (ListImages コレクション)

Add メソッド (ListItems コレクション)

Add メソッド (Nodes コレクション)

Add メソッド (Panels コレクション)

Add メソッド (Tabs コレクション)


Index

キーワード Index は次の項目で使用されます。

Index プロパティ (コントロール配列)

Index プロパティ (カスタム コントロール)


Sorted

キーワード Sorted は次の項目で使用されます。

Sorted プロパティ (リスト ビュー コントロール)

Sorted プロパティ (ツリー ビュー コントロール)


Style

キーワード Style は次の項目で使用されます。

Style プロパティ (Button オブジェクト)

Style プロパティ (Panel オブジェクト)

Style プロパティ (ステータス バー コントロール)

Style プロパティ (タブ ストリップ コントロール)

Style プロパティ (ツリー ビュー コントロール)


Width

キーワード Width は次の項目で使用されます。

Width プロパティ (Panel オブジェクト)

Height、Width プロパティ (カスタム コントロール)


Alignment

キーワード Alignment は次の項目で使用されます。

Alignment プロパティ (ColumnHeader オブジェクト)

Alignment プロパティ (Panel オブジェクト)


AutoSize

キーワード AutoSize は次の項目で使用されます。

Autosize プロパティ (カスタム コントロール)

Autosize プロパティ (Panel オブジェクト)


Caption

キーワード Caption は次の項目で使用されます。

Caption プロパティ (カスタム コントロール)

Caption プロパティ (Tab オブジェクト)


Change

キーワード Change は次の項目で使用されます。

Change イベント (カスタム コントロール)

Change イベント (ツールバー コントロール)


ImageList

キーワード ImageList は次の項目で使用されます。

イメージ リスト コントロール

ImageList プロパティ (カスタム コントロール)


Parent

キーワード Parent は次の項目で使用されます。

Parent プロパティ (カスタム コントロール)

Parent プロパティ (Node オブジェクト)


 イメージ リスト コントロール

関連項目	プロパティ	メソッド	定数

イメージ リスト コントロールには、インデックスまたはキーで参照できる、ListImage オブジェクトのコレクションが含まれます。イメージ リスト コントロールは、単独で使用するものではなく、他のコントロールにイメージを簡単に提供するコントロールです。

構文

ImageList

解説

イメージ リスト コントロールは、Picture プロパティに Picture オブジェクトを割り当てるすべてのコントロールと共に使用することができます。次のコードでは、新しく作成されたステータス バー コントロール Panel オブジェクトの Picture プロパティに、ListImages コレクションの先頭の ListImage オブジェクトを割り当てます。

Dim pnlX As Panel

Set pnlX = StatusBar1.Panels.Add() ' Panel オブジェクトを新しく追加します。

Set pnlX.Picture = ImageList1.ListImages(1).Picture ' Picture プロパティを設定します。

注   Picture オブジェクトにイメージを割り当てるときは、Set ステートメントを使用します。

イメージ リスト コントロールは、イメージがすべて同じサイズであれば、ビットマップおよびアイコンのいずれか、または両方を一緒にロードできます。イメージのサイズに制限はありませんが、ロードできるイメージの総数は、利用できるメモリ容量によって制限されます。

デザイン時には、[イメージ リスト コントロールのプロパティ] ダイアログ ボックスの [全般] タブを使用して、イメージを追加します。実行時には、ListImages コレクションに対して Add メソッドを使用して、イメージを追加します。

Picture オブジェクトを格納することに加えて、イメージ リスト コントロールは、イメージにグラフィックスの操作を実行してから、他のコントロールに割り当てることができます。たとえば、Overlay メソッドは、2 つの異なるイメージから合成したイメージを作成します。

さらに、1 つ以上のイメージ リスト コントロールを、他の Microsoft Windows 95 と共通に使用できるコントロールと結合して、システム リソースを節約することができます。これには、リスト ビュー、ツールバー、タブ ストリップ、およびツリー ビューの各コントロールが含まれます。イメージ リスト コントロールをこれらのコントロールと共に使用するには、特定のイメージ リスト コントロールの適切なプロパティを設定して、他のコントロールと関連付ける必要があります。リスト ビュー コントロールの場合は、Icons プロパティおよび SmallIcons プロパティをイメージ リスト コントロールに設定します。ツリー ビュー、タブ ストリップ、およびツールバーの各コントロールの場合は、ImageList プロパティをイメージ リスト コントロールに設定します。

これらのコントロールの場合、デザイン時にはプロパティ ページ ダイアログ ボックスを使用して、イメージ リスト コントロールを指定できます。実行時には、次に示すようにツリー ビュー コントロールの ImageList プロパティを、設定するイメージ リスト コントロールに指定します。

TreeView1.ImageList = ImageList1  ' ImageList を指定します。

イメージ リスト コントロールを他のコントロールに一度関連付けると、Index プロパティまたは Key プロパティのいずれかの値を使用して、プロシージャの中で、ListImage オブジェクトを参照することができます。次のコードでは、ツリー ビュー コントロールの 3 番目の Node オブジェクトの Image プロパティを、イメージ リスト コントロールの先頭の ListImage オブジェクトに設定します。

' ImageList1 の Index プロパティの値を使用します。

TreeView1.Nodes(3).Image = 1

' または Key プロパティの値を使用します。

TreeView1.Nodes(3).Image = "image 1"   ' キーを "image 1" と仮定しています。

配布時の注意   イメージ リスト コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、イメージ リスト コントロールは、COMCTL32.OCX ファイル内のカスタム コントロール グループに含まれています。アプリケーションの中でイメージ リスト コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


関連項目

Add メソッド (ListImages コレクション)

Icons プロパティ

ImageList プロパティ

Index プロパティ

Key プロパティ

ListImage オブジェクト、ListImages コレクション

リスト ビュー コントロール

SmallIcons プロパティ

タブ ストリップ コントロール

ツールバー コントロール

ツリー ビュー コントロール


イメージ リスト コントロールのプロパティ

BackColor プロパティ

ImageHeight プロパティ

ImageWidth プロパティ

Index プロパティ

ListImages プロパティ

MaskColor プロパティ

Name プロパティ

Object プロパティ

Parent プロパティ

Tag プロパティ


イメージ リスト コントロールのメソッド

Overlay メソッド


ListImage オブジェクト、ListImages コレクション

関連項目	プロパティ	メソッド

ListImage オブジェクトは、他のコントロールの中で使用できる、任意のサイズのビットマップです。

ListImages コレクションは、ListImage オブジェクトのコレクションです。

構文

imagelist.ListImages

imagelist.ListImages(index)

上の構文は、標準のコレクションの構文に従って、コレクションおよびコレクションの個別の要素を参照します。

ListImage オブジェクトおよび ListImages コレクションの構文の指定項目は次のとおりです。

指定項目	内容

imagelist	イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

index	コレクション内の固有のオブジェクトを識別する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

ListImages コレクションは、インデックスが 1 から始まるコレクションです。

ListImage オブジェクトは、デザイン時には、[イメージ リスト コントロールのプロパティ] ダイアログ ボックスの [全般] タブを使用して、また実行時には、ListImage オブジェクトに対して Add メソッドを使用して、追加および削除します。

コレクション内の各項目には、そのインデックスまたは固有のキーで参照します。たとえば、コレクション内の 3 番目の ListImage オブジェクトへの参照を取得するには、次の構文を使用します。

Dim imgX As ListImage

' インデックス番号で参照します。

Set imgX = ImageList.ListImages(3)

' または固有のキーで参照します。

Set imgX = ImageList1.ListImages("third") ' キーを "third" と仮定しています。

' または Item メソッドを使用します。

Set imgX = ImageList1.ListImages.Item(3)

各 ListImage オブジェクトには、対応するマスクが、MaskColor プロパティを使用して自動的に生成されます。このマスクは、直接使用されることはなく、Overlay メソッドおよび Draw メソッドなどのグラフィックスの操作の中で元のビットマップに対して適用されます。


関連項目

イメージ リスト コントロール

ImageList プロパティ

MaskColor プロパティ

Overlay メソッド


ListImage オブジェクト、ListImages コレクションのプロパティ

凡例

Count プロパティ

Index プロパティ

Key プロパティ

Picture プロパティ


ListImage オブジェクト、ListImages コレクションのメソッド

凡例

Add メソッド

Clear メソッド

Draw メソッド

ExtractIcon メソッド

Item メソッド

Remove メソッド


Add メソッド (ListImages コレクション)

関連項目	例

ListImages コレクションに ListImage オブジェクトを追加します。名前付き引数は、指定できません。

構文

object.Add(index, key, picture)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	ListImages コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。ListImage オブジェクトの挿入位置を表す整数を指定します。index の指定を省略すると、ListImage オブジェクトは、ListImages コレクションの末尾に追加されます。

key	省略可能です。ListImage オブジェクトを識別する固有の文字列を指定します。この値は、特定の ListImage オブジェクトを取得するときに使用します。

注   キーが重複しているとエラーが発生します。

picture	必ず指定します。コレクションに追加するピクチャを指定します。

解説

ListImages コレクションは、インデックスが 1 から始まるコレクションです。

イメージがすべて同じサイズであれば、ビットマップまたはアイコンのいずれかを、ListImage オブジェクトにロードできます。ビットマップまたはアイコンをロードするには、次に示すように、LoadPicture 関数を使用します。

Set imgX = ImageList1.ListImages.Add(,,LoadPicture("file name"))

Picture オブジェクトを、ListImage オブジェクトに直接ロードすることもできます。次のコードでは、ピクチャ ボックス (PictureBox) コントロールのピクチャを、ListImage オブジェクトにロードします。

Set imgX = ImageList1.ListImages.Add(,,Picture1.Picture)

ListImages コレクションに ListImage オブジェクトがまったく追加されていない場合、最初の ListImage オブジェクトを追加する前に、ImageHeight プロパティおよび ImageWidth プロパティを設定できます。コレクションに追加する最初の ListImage オブジェクトは、どのようなサイズであっても構いません。ただし、この後に追加する ListImage オブジェクトは、最初の ListImage オブジェクトと同じサイズにする必要があります。コレクションに ListImage オブジェクトが追加されると、ImageHeight プロパティおよび ImageWidth プロパティは読み取り専用のプロパティになり、コレクションに追加されるイメージは、ImageHeight プロパティの値および ImageWidth プロパティの値を最初の ListImage オブジェクトと同じにする必要があります。

Index プロパティの値が変更される場合、Key プロパティを使用して ListImage オブジェクトを参照します。たとえば、ユーザーが、各自のイメージをコレクションに追加および削除できる場合、Index プロパティの値は変更される可能性があります。ListImage オブジェクトがコレクションに追加されると、新しく作成されたオブジェクトへの参照が返ります。この参照を使用して、ListImage オブジェクトの他のプロパティを設定することができます。次の例を参照してください。

Dim imgX As ListImage

Dim I As Integer

Set imgX = ImageList1.ListImages. _

Add(,,LoadPicture("icons\comm\net01.ico"))

imgX.Key = "net connect" ' 新しい参照を使用して Key を割り当てます。


関連項目

Clear メソッド

Count プロパティ

ListImage オブジェクト、ListImages コレクション

ImageHeight、ImageWidth プロパティ

Item メソッド

Remove メソッド


Add メソッドの例 (ListImages コレクション)

次のプログラムでは、複数のイメージを ListImages コレクションに追加し、ツリー ビュー コントロールの中でイメージを使用します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびツリー ビュー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、イメージ リスト コントロールからのピクチャを元にツリー ビュー コントロールを表示します。

Private Sub Form_Load()

Dim imgX As ListImage

' イメージ リスト コントロールのコレクションに 3 つのアイコンをロードします。

Set imgX = ImageList1.ListImages. _

Add(,"rocket", LoadPicture("icons\industry\rocket.ico"))

Set imgX = ImageList1.ListImages. _

Add(,"plane",LoadPicture("icons\industry\plane.ico"))

Set imgX = ImageList1.ListImages. _

Add(,"car",LoadPicture("icons\industry\cars.ico"))

' ツリー ビュー コントロールの ImageList プロパティを設定します。

Set TreeView1.ImageList = ImageList1

' ツリー ビューを作成し、そのイメージには ListImage オブジェクトを使用します。

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,,"Rocket")

nodX.Image = 1	' イメージ 1 の Index プロパティを使用します。

Set nodX = TreeView1.Nodes.Add(,,,"Plane")

nodX.Image = "plane"	' イメージ 2 の Key プロパティを使用します。

Set nodX = TreeView1.Nodes.Add(,,,"Car")

nodX.Image = "car"	' イメージ 3 の Key プロパティを使用します。

End Sub


Draw メソッド

関連項目	例

イメージに対してグラフィックスの操作を実行した後で、ピクチャ ボックス (PictureBox) コントロールなど、ディスティネーションのデバイス コンテキスト (DC) に、イメージを描画します。名前付き引数は、指定できません。

構文

object.Draw (hDC, x,y, style)

Draw メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。ListImage オブジェクトへの参照を表すオブジェクト式を指定します。

hDC	必ず指定します。対象となるオブジェクトの hDC プロパティに設定される値を指定します。

x,y	省略可能です。イメージが描画されるデバイス コンテキスト内の位置を表す座標を指定します。この指定を省略すると、DC の原点にイメージが描画されます。

style	省略可能です。イメージ上で実行する操作を指定します。設定する値については、次の「設定値」を参照してください。

設定値

style の設定値は次のとおりです。

定数	値	内容

imlNormal	0	(既定値) 標準。イメージに変更を加えずに描画します。

imlTransparent	1	透過。イメージのどの色が透過であるかを MaskColor プロパティで判断し、イメージを描画します。

imlSelected	2	選択。システムの反転表示色でディザリングされたイメージを描画します。

imlFocus	3	フォーカス。反転表示色でディザリングおよびストライプ化されたイメージを描画します。ハッチ効果により、イメージはフォーカスを持ちます。

解説

hDC プロパティは、Microsoft Windows の内部で、オブジェクトへの参照に使用されるハンドル (番号) です。hDC プロパティを使用すると、hDC プロパティを持つ任意のコントロールの内部領域で、描画することができます。Visual Basic の場合、これには Form オブジェクト、ピクチャ ボックス コントロール、および Printer オブジェクトが含まれます。

オブジェクトの hDC は、アプリケーションの実行中に変更されることがあるため、実際の値ではなく、常に hDC プロパティを指定します。次のコードでは、正しい hDC 値が、イメージ リスト コントロールに常に提供されます。

ImageList1.ListImages(1).Draw Form1.hDC


関連項目

ExtractIcon メソッド

イメージ リスト コントロール

MaskColor プロパティ

Overlay メソッド


Draw メソッドの例

次のプログラムでは、イメージ リスト コントロールにイメージをロードします。フォームをクリックすると、4 種類の異なるスタイルで、イメージがフォームに描画されます。このプログラムを実行するには、フォーム上にイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

Dim X As ListImage

' イメージをイメージ リスト コントロールにロードします。

Set X = ImageList1.ListImages. _

Add(, , LoadPicture("bitmaps\assorted\intl_no.bmp"))

End Sub

Private Sub Form_Click()

Dim space, intW As Integer	' 間隔用の変数を作成します。

' ImageWidth プロパティを使用して間隔を設定します。

intW = ImageList1.ImageWidth

space = Form1.Font.Size * 2 ' Font.Size を使用して高さの間隔を設定します。

ScaleMode = vbPoints	' ScaleMode をポイントに設定します。

Cls ' フォームをクリアします。

' イメージを標準スタイルで描画します。

ImageList1.ListImages(1).Draw Form1.hDC, , space, imlNormal

' MaskColor を赤色に設定します。これが透過になります。

ImageList1.MaskColor = vbRed

' 赤色 (MaskColor) を透過色としてイメージを描画します。

ImageList1.ListImages(1).Draw Form1.hDC, intW, space, imlTransparent

' 選択スタイルでイメージを描画します。

ImageList1.ListImages(1).Draw Form1.hDC, intW * 2, space, imlSelected

' フォーカス スタイルでイメージを描画します。

ImageList1.ListImages(1).Draw Form1.hDC, intW * 3, space, imlFocus

' イメージの標題を表示します。

Print _

"Normal              Transparent           Selected         Focus"

End Sub


ExtractIcon メソッド

関連項目	例

イメージ リスト コントロールの ListImage オブジェクトのビットマップからアイコンを作成し、新しく作成されたアイコンへの参照を取得します。

構文

object.ExtractIcon

引数 object には、ListImage オブジェクトへの参照を表すオブジェクト式を指定します。

解説

ExtractIcon メソッドで作成したアイコンは、他のアイコンと同じように使用できます。次のコードでは、これを MouseIcon プロパティに対する設定として使用します。

Set Command1.MouseIcon = ImageList1.ListImages(1).ExtractIcon


関連項目

Add メソッド (ListImages コレクション)

イメージ リスト コントロール

ListImage オブジェクト、ListImages コレクション


ExtractIcon メソッドの例

次のプログラムでは、イメージ リスト コントロールにビットマップをロードします。ユーザーがフォームをクリックすると、ExtractIcon メソッドを使用してビットマップからアイコンが作成されます。このアイコンが、Form オブジェクトの MouseIcon プロパティの設定として使用されます。このプログラムを実行するには、フォーム上にイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

Dim imgX As ListImage

Set imgX = ImageList1.ListImages. _

Add(, , LoadPicture("bitmaps\assorted\balloon.bmp"))

End Sub

Private Sub Form_Click()

Dim picX As Picture

Set picX = ImageList1.ListImages(1).ExtractIcon  ' アイコンを作成します。

With Form1

.MouseIcon =  picX	' 新しいアイコンを設定します。

.MousePointer = vbCustom 	' カスタム アイコンに設定します。

End With

End Sub


ImageHeight、ImageWidth プロパティ

関連項目	例

ImageHeight プロパティは、イメージ リスト コントロール内の ListImage オブジェクトの高さを設定します。値の取得も可能です。

ImageWidth プロパティは、イメージ リスト コントロール内の ListImage オブジェクトの幅を設定します。値の取得も可能です。

構文

object.ImageHeight

object.ImageWidth

引数 object には、イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

解説

高さおよび幅は、共にピクセルを単位とします。ListImages コレクションのすべてのイメージは、同じ高さおよび幅のプロパティを持ちます。

イメージ リスト コントロールに ListImage オブジェクトがまったく含まれない場合には、ImageHeight プロパティおよび ImageWidth プロパティの両方を設定することができます。しかし、ListImage オブジェクトが一度追加されると、この後に追加するイメージはすべて、最初のオブジェクトと同じ高さおよび幅にする必要があります。異なるサイズのイメージを追加すると、エラーが発生します。


関連項目

Add メソッド (ListImages コレクション)

イメージ リスト コントロール


ImageHeight、ImageWidth プロパティの例

次のプログラムでは、イメージ リスト コントロールにアイコンをロードし、リスト ビュー コントロール内でイメージを使用します。ユーザーがフォームをクリックすると、コードは ImageHeight プロパティを使用してリスト ビュー コントロールの高さを調整し、ListImage オブジェクトを表示します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびリスト ビュー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

' ImageList オブジェクトおよび ListView オブジェクト用の変数を作成します。

Dim imgX As ListImage

Dim itmX As ListItem

Form1.ScaleMode = vbPixels ' ScaleMode をピクセルに設定します。

ListView1.BorderStyle = FixedSingle ' 境界線を表示します。

' その効果を明らかにするために、リスト ビュー コントロールの高さを低くします。

ListView1.Height = 50

' イメージ リスト コントロールに大きなビットマップを設定します。

Set imgX = ImageList1.ListImages. _

Add(,, LoadPicture("bitmaps\gauge\vert.bmp"))

ListView1.Icons = ImageList1 ' Icons プロパティを設定します。

' リスト ビュー コントロールに Item を追加します。

Set itmX = ListView1.ListItems.Add()

itmX.Icon = 1	' Icon プロパティをイメージ リスト コントロールの ListImage 1 に設定します。

itmX.Text = "Thermometer"	' リスト ビュー コントロールの ListItem オブジェクトのテキストを設定します。

End Sub

Private Sub Form_Click()

Dim strHW As String

strHW = "Height: " & ImageList1.ImageHeight & _

"   Width: " & ImageList1.ImageWidth

caption = strHW	' 大きさを表示します。

' 最も高さのあるイメージを表示できるように、リスト ビューを拡大します。

ListView1.Height = ImageList1.ImageHeight + 50

End Sub


ListImages プロパティ

関連項目	例

イメージ リスト コントロール内の ListImage オブジェクトのコレクションへの参照を取得します。

構文

object.ListImages

引数 object には、イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

解説

ListImage オブジェクトは、Add メソッドおよび Clear メソッドなどのコレクションに標準のメソッドを使用して、操作することができます。コレクションの各メンバには、そのインデックスまたは固有のキーでアクセスします。これらは、ListImage オブジェクトがコレクションに追加されるとき、Index プロパティおよび Key プロパティに、それぞれ格納されます。


関連項目

Add メソッド (ListImages コレクション)

Clear メソッド

Count プロパティ

Item メソッド

ListImage オブジェクト、ListImages コレクション

Remove メソッド


ListImages プロパティの例

次のプログラムでは、3 つの ListImage オブジェクトを ListImages コレクションに追加し、これをリスト ビュー コントロールの中で使用します。コードでは、Key プロパティおよび Item プロパティの両方を使用して、ListImage オブジェクトを参照します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびリスト ビュー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行します。

Private Sub Form_Load()

Dim imgX As ListImage

' イメージを ListImages コレクションに追加します。

Set imgX = ImageList1. _

ListImages.Add(,"rocket",LoadPicture("icons\industry\rocket.ico"))

Set imgX = ImageList1. _

ListImages.Add(,"jet",LoadPicture("icons\industry\plane.ico"))

Set imgX = ImageList1. _

ListImages.Add(,"car",LoadPicture("icons\industry\cars.ico"))

ListView1.Icons = ImageList1 ' Icons プロパティを設定します。

' Item オブジェクトをリスト ビュー コントロールに追加します。

Dim itmX as ListItem

Set itmX = ListView1.ListItems.Add()

' インデックスで参照します。

itmX.Icon = 1

itmX.Text = "Rocket"	' Text 文字列を設定します。

Set itmX = ListView1.ListItems.Add()

' キー ("jet") で参照します。

itmX.Icon = "jet"

itmX.Text = "Jet"	' Text 文字列を設定します。

Set itmX = ListView1.ListItems.Add()

itmX.Icon = "car"

itmX.Text = "Car"	' Text 文字列を設定します。

End Sub


MaskColor プロパティ

関連項目	例

イメージ リスト コントロール用のマスクを作成するのに使用する色を設定します。値の取得も可能です。

構文

object.MaskColor [ = color]

MaskColor プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

color	マスクを作成するのに使用する色を値または定数で指定します。組み込み定数、QBColor 関数、RGB 関数のいずれかを使用して色を指定できます。

解説

ListImages コレクションの各イメージは、これに関連した対応するマスクを持ちます。マスクは、イメージそのものから得られるモノクロ イメージであり、マスクを指定する色として MaskColor プロパティを使用することによって、自動的に生成されます。このマスクは、直接使用されることはなく、Overlay メソッドおよび Draw メソッドなどのグラフィックスの操作の中で、元のビットマップに対して適用されます。たとえば、MaskColor プロパティは、Overlay メソッドの中でイメージのどの色が透過であるかを決定します。


関連項目

Draw メソッド

イメージ リスト コントロール

Overlay メソッド


MaskColor プロパティの例

次のプログラムでは、イメージ リスト コントロールに複数のビットマップをロードします。フォームをクリックすると、1 つの ListImage オブジェクトが、他の ListImage オブジェクトの 1 つにオーバーレイ表示します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびピクチャ ボックス (PictureBox) コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

Dim imgX As ListImage

' ビットマップをロードします。

Set imgX = ImageList1.ListImages. _

Add(, "No", LoadPicture("bitmaps\assorted\Intl_No.bmp"))

Set imgX = ImageList1.ListImages. _

Add(, , LoadPicture("bitmaps\assorted\smokes.bmp"))

Set imgX = ImageList1.ListImages. _

Add(, , LoadPicture("bitmaps\assorted\beany.bmp"))

ScaleMode = vbPixels

' MaskColor プロパティを設定します。

ImageList1.MaskColor = vbGreen

' フォームの BackColor を白色に設定します。

Form1.BackColor = vbWhite

End Sub

Private Sub Form_Click()

Static intCount As Integer ' イメージをカウントするための静的変数を作成します。

' 変数が ListImages.Count 値を越えた場合は、これを 2 にリセットします。

If intCount > ImageList1.ListImages.Count Or intCount < 1 Then

intCount = 2 ' 2 番目のイメージにリセットします。

End If

' ListImage(1) を ListImages 2-3 上にオーバーレイ表示します。

Picture1.Picture = ImageList1.Overlay(intCount, 1)

' カウントをインクリメントします。

intCount = intCount + 1

' ImageList.ImageWidth 値を格納する変数を作成します。

Dim intW

intW = ImageList1.ImageWidth

' 参考のために、フォーム上にイメージを描画します。イメージの間隔をあけるには ImageWidth を使用します。

ImageList1.ListImages(1).Draw Form1.hDC, 0, 0, imlNormal

ImageList1.ListImages(2).Draw Form1.hDC, 0, intW, imlNormal

ImageList1.ListImages(3).Draw Form1.hDC, 0, intW * 2, imlNormal

End Sub


Overlay メソッド

関連項目	例

ListImages コレクション内のあるイメージを、他のイメージ上に描画し、その結果を取得します。名前付き引数は、指定できません。

構文

object.Overlay (index1, index2)

Overlay メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

index1	オーバーレイ表示されるイメージを整数 (Index プロパティ) または固有の文字列 (Key プロパティ) で指定します。

index2	index1 で指定されるオブジェクトの上に描画されるイメージを、整数 (Index プロパティ) または固有の文字列 (Key プロパティ) で指定します。

注   MaskColor プロパティに対応するイメージの色が透過になります。対応する色がない場合、イメージは他のイメージの上に非透過に描画されます。

解説

Overlay メソッドは MaskColor プロパティと共に使用して、2 つの異なるイメージから 1 つのイメージを作成します。Overlay メソッドは、あるビットマップを別のビットマップの上に置き、3 番目の合成イメージを作成します。MaskColor プロパティは、オーバーレイ表示するイメージでどの色が透過であるかを決定します。

index は、インデックスおよびキーのどちらであっても構いません。次のコードでは、コレクションの先頭のピクチャを、2 番目のピクチャにオーバーレイ表示します。

Set Picture1.Picture = ImageList1.Overlay(1,2) ' インデックスで参照します。

'または Key プロパティで参照します。

Set Picture1.Picture = ImageList1.Overlay("First", "Second")


関連項目

Draw メソッド

Index プロパティ

ListImage オブジェクト、ListImages コレクション

MaskColor プロパティ


Overlay メソッドの例

次のプログラムでは、イメージ リスト コントロールに 5 つの ListImage オブジェクトをロードし、任意の 2 つのイメージを、2 つのピクチャ ボックス (PictureBox) コントロールの中で表示します。各ピクチャ ボックス コントロールについて、表示するイメージは、2 つのコンボ ボックス (ComboBox) コントロールの 1 つから選択します。フォームをクリックすると、コードは Overlay メソッドを使用して、3 番目のピクチャ ボックス コントロールに表示される 3 番目のイメージを作成します。このプログラムを実行するには、フォーム上にイメージ リスト コントロール、2 つのコンボ ボックス コントロール、および 3 つのピクチャ ボックス コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

Dim X As ListImage

' ListImages コレクションにイメージを 5 つ追加します。

Set X = ImageList1.ListImages. _

 Add(, , LoadPicture("icons\elements\moon05.ico"))

Set X = ImageList1.ListImages. _

 Add(, , LoadPicture("icons\elements\snow.ico"))

Set X = ImageList1.ListImages. _

 Add(, , LoadPicture("icons\writing\erase02.ico"))

Set X = ImageList1.ListImages. _

 Add(, , LoadPicture("icons\writing\note06.ico"))

Set X = ImageList1.ListImages. _

 Add(, , LoadPicture("icons\flags\flgfran.ico"))

With combo1	' 最初のコンボ ボックスを設定します。

.AddItem "Moon"

.AddItem "Snowflake"

.AddItem "Pencil"

.AddItem "Note"

.AddItem "Flag"

.ListIndex = 0

End With

With combo2	' 2 番目のコンボ ボックスを設定します。

.AddItem "Moon"

.AddItem "Snowflake"

.AddItem "Pencil"

.AddItem "Note"

.AddItem "Flag"

.ListIndex = 2

End With

Picture1.BackColor = vbWhite	' BackColor を白色に設定します。

Picture2.BackColor = vbWhite

Picture3.BackColor = vbWhite

End Sub

Private Sub Form_Click()

' 2 つのイメージをオーバーレイ表示して、PictureBox3 に表示します。

Set Picture3.Picture = ImageList1. _

 Overlay(combo1.ListIndex + 1, combo2.ListIndex + 1)

End Sub

Private Sub combo1_Click()

' PictureBox を変更して、コンボ ボックスの選択を反映します。

Set Picture1.Picture = ImageList1. _

 ListImages(combo1.ListIndex + 1).ExtractIcon

End Sub

Private Sub combo2_Click()

' PictureBox を変更して、コンボ ボックスの選択を反映します。

Set Picture2.Picture = ImageList1. _

 ListImages(combo2.ListIndex + 1).ExtractIcon

End Sub


ListImages キーワード

ListImages キーワードは、次のコンテキストで使用されます。

ListImages コレクション

ListImages プロパティ


イメージ リスト コントロールの定数

関連項目

定数	値	内容

imlNormal	0	変更を加えずにイメージを描画します。

imlTransparent	1	透過的にイメージを描画します。

imlSelected	2	選択的にイメージを描画します。

imlFocus	3	フォーカスを付けてイメージを描画します。


関連項目

Draw メソッド

イメージ リスト コントロール

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


 リスト ビュー コントロール

関連項目	プロパティ	メソッド	イベント	定数

リスト ビュー コントロールは、4 種類の表示形式のうちの 1 つを使用して、項目を表示します。項目にアイコンおよびテキストを付けて表示するだけでなく、項目を列方向に並べて列見出しを付けることもできます。

構文

ListView

解説

リスト ビュー コントロールでは、一覧表示する項目を ListItem オブジェクトとして扱います。ListItem オブジェクトは、次の 4 種類の表示形式の 1 つとして構成されます。

大きいアイコンで表示 (Icon)

小さいアイコンで表示 (SmallIcon)

一覧表示 (List)

詳細表示 (Report)

View プロパティでは、コントロールがどの表示形式を使用して、項目を一覧表示するのかを指定します。一覧表示する項目のラベルを、複数行に渡って折り返すかどうかを、LabelWrap プロパティで制御することもできます。また、一覧内の項目の並べ替えや選択項目の表示の方法を管理することもできます。

リスト ビュー コントロールには、ListItem オブジェクトおよび ColumnHeader オブジェクトが含まれます。ListItem オブジェクトは、リスト ビュー コントロール内の項目について、次のようなさまざまな特性を定義します。

項目についての簡単な説明。

項目と共に表示されるアイコン。イメージ リスト コントロールから提供されます。

ListItem オブジェクトと関連する追加テキスト。これはサブアイテムと呼ばれ、表示形式が詳細表示 (Report) の場合に表示できます。

HideColumnHeaders プロパティを使用して、リスト ビュー コントロールでの列見出しの表示を選択することができます。列見出しは、デザイン時および実行時の両方で追加できます。デザイン時には、[リスト ビュー コントロールのプロパティ] ダイアログ ボックスの [列見出し] タブを使用します。実行時には、Add メソッドを使用して、ColumnHeaders コレクションに ColumnHeader オブジェクトを追加します。

配布時の注意   リスト ビュー コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、リスト ビュー コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでリスト ビュー コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


関連項目

Add メソッド (ColumnHeaders コレクション)

ColumnHeader オブジェクト、ColumnHeaders コレクション

イメージ リスト コントロール

ListItem オブジェクト、ListItems コレクション

ツリー ビュー コントロール


リスト ビュー コントロールのプロパティ

Arrange プロパティ

BackColor プロパティ

BorderStyle プロパティ

ColumnHeaders プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

DropHighLight プロパティ

Enabled プロパティ

Font プロパティ

ForeColor プロパティ

Height プロパティ

HelpContextID プロパティ

HideColumnHeaders プロパティ

HideSelection プロパティ

hWnd プロパティ

Icons プロパティ

Index プロパティ

ListItems プロパティ

LabelEdit プロパティ

LabelWrap プロパティ

Left プロパティ

MouseIcon プロパティ

MousePointer プロパティ

MultiSelect プロパティ

Name プロパティ

Object プロパティ

Parent プロパティ

SelectedItem プロパティ

SmallIcons プロパティ

Sorted プロパティ (リスト ビュー コントロール)

SortKey プロパティ

SortOrder プロパティ

TabIndex プロパティ

TabStop プロパティ

Tag プロパティ

Top プロパティ

View プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


リスト ビュー コントロールのメソッド

Drag メソッド

FindItem メソッド

GetFirstVisible メソッド

HitTest メソッド

Move メソッド

Refresh メソッド

SetFocus メソッド

ShowWhatsThis メソッド

StartLabelEdit メソッド

ZOrder メソッド


リスト ビュー コントロールのイベント

AfterLabelEdit イベント

BeforeLabelEdit イベント

Click イベント

ColumnClick イベント

DblClick イベント

DragDrop イベント

DragOver イベント

GotFocus イベント

ItemClick イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント


ColumnHeader オブジェクト、ColumnHeaders コレクション

関連項目	プロパティ	メソッド

ColumnHeader オブジェクト
見出し用のテキストで構成される、リスト ビュー コントロールの項目です。

ColumnHeaders コレクション
ColumnHeader オブジェクトで構成されます。

重要   このオブジェクトは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

listview.ColumnHeaders

listview.ColumnHeaders(index)

上の構文は、標準のコレクションの構文に従って、コレクションまたはコレクション内の個別の要素をそれぞれ参照します。

ColumnHeader オブジェクトおよび ColumnHeaders コレクションの構文の指定項目は次のとおりです。

指定項目	内容

listview	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

index	オブジェクト コレクションの固有のメンバを識別する、整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

ColumnHeader オブジェクトは、表示形式が詳細表示 (Report) の場合に限り表示できます。

ColumnHeader オブジェクトは、デザイン時および実行時の両方で、リスト ビュー コントロールに追加できます。

ColumnHeader オブジェクトを使用すると、次の操作を実行できます。

これをクリックすることで ColumnClick イベントを発生させ、データ項目に基づいて項目を並べ替えます。

オブジェクトの右側の境界線をつかみ、これをドラッグして、列の幅を調整します。

表示形式が詳細表示 (Report) の場合に ColumnHeader オブジェクトを表示しません。

リスト ビュー コントロールには、常に列が 1 つあります。これが Column 1 です。この列には、サブアイテムではなく、実際の ListItem オブジェクトが格納されています。2 番目の列 (Column 2) に、サブアイテムが格納されています。したがって、ColumnHeader オブジェクトの個数はサブアイテムの個数よりも常に 1 多く、ListItem オブジェクトの SubItems プロパティはインデックスが 1 から始まる配列で、そのサイズは ColumnHeaders.Count の値 - 1 です。

コントロール内の各 ListItem オブジェクトに含まれるサブアイテムの個数は、ColumnHeader オブジェクトの個数で決まります。ColumnHeader オブジェクトを削除すると、その列に関連するすべてのサブアイテムも削除されます。各 ListItem オブジェクトのサブアイテムの配列はシフトして、ColumnHeader のインデックスが更新されます。これによって、残りの列見出しの SubItemIndex プロパティが変更します。


関連項目

Add メソッド (ColumnHeaders コレクション)

Clear メソッド

ColumnClick イベント

ColumnHeaders プロパティ

HideColumnHeaders プロパティ

Index プロパティ

ListItem オブジェクト、ListItems コレクション

Key プロパティ

Remove メソッド

SubItemIndex プロパティ

SubItems プロパティ (ListItems オブジェクト)


ColumnHeader オブジェクト、ColumnHeaders コレクションのプロパティ

凡例

Alignment プロパティ

Count プロパティ

Index プロパティ

Key プロパティ

Left プロパティ

SubItemIndex プロパティ

Tag プロパティ

Text プロパティ

Width プロパティ


 ColumnHeader オブジェクト、ColumnHeaders コレクションのメソッド

凡例

Add メソッド (ColumnHeaders コレクション)

Clear メソッド

Item メソッド

Remove メソッド


Add メソッド (ColumnHeaders コレクション)

関連項目	例

リスト ビュー コントロール内の ColumnHeaders コレクションに、ColumnHeader オブジェクトを追加します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Add(index, key, text, width, alignment)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。ColumnHeaders コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。オブジェクト コレクションの固有のメンバを識別する整数を指定します。

key	省略可能です。コレクションのメンバにアクセスするときに使用する固有の文字列式を指定します。

text	省略可能です。ColumnHeader オブジェクトに表示される文字列を指定します。

width	省略可能です。コントロールのコンテナの座標系を使用して、オブジェクトの幅を数式で指定します。

alignment	省略可能です。ColumnHeader オブジェクト内のテキストの配置を整数で指定します。設定の内容については、「Alignment プロパティ」を参照してください。

解説

Add メソッドは、新しく挿入された ColumnHeader オブジェクトへの参照を返します。

特定の位置に列見出しを挿入するには、引数 index を使用します。


関連項目

Alignment プロパティ (ColumnHeader オブジェクト)

Clear メソッド

ColumnHeader オブジェクト、ColumnHeaders コレクション

Index プロパティ

Key プロパティ

リスト ビュー コントロール

Remove メソッド

SubItemIndex プロパティ

SubItems プロパティ (ListItems オブジェクト)


ListItem オブジェクト、ListItems コレクション

関連項目	プロパティ	メソッド

ListItem オブジェクトは、テキスト、関連アイコン (ListImage オブジェクト) のインデックス、および詳細表示 (Report) で表示されるサブアイテムを表す文字列配列によって構成されます。

ListItems コレクションは、ListItem オブジェクトで構成されます。

重要   このオブジェクトは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

listview.ListItems

listview.ListItems(index)

上の構文は、標準のコレクションの構文に従って、コレクションまたはコレクション内の個別の要素をそれぞれ参照します。

ListItem オブジェクトおよび ListItems コレクションの構文の指定項目は次のとおりです。

指定項目	内容

listview	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

index	ListItem コレクションの固有のメンバを識別する、整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

ListItem オブジェクトは、テキストおよびピクチャの両方を格納できます。ただし、ピクチャを使用するには、イメージ リスト コントロールを参照する必要があります。

Icon プロパティまたは SmallIcon プロパティを使用して、イメージを変更できます。

次のコードでは、ColumnHeaders コレクション、およびサブアイテムを含む複数の ListItem オブジェクトを、リスト ビュー コントロールに追加します。

Private Sub Form_Load()

Dim clmX As ColumnHeader

Dim itmX As ListItem

Dim i As Integer

For i = 1 To 3

Set clmX = ListView1.ColumnHeaders.Add()

clmX.Text = "Col" & i

Next i

For i = 1 To 10

Set itmX = ListView1.ListItems.Add()

itmX.SmallIcon = 1

itmX.Text = "ListItem " & i

itmX.SubItems(1) = "Subitem 1"

itmX.SubItems(2) = "Subitem 2"

Next i

End Sub


関連項目

Icon、SmallIcon プロパティ

イメージ リスト コントロール

ListImage オブジェクト、ListImages コレクション

リスト ビュー コントロール


ListItem オブジェクト、ListItems コレクションのプロパティ

凡例

Count プロパティ

Ghosted プロパティ

Height プロパティ

Icon プロパティ

Index プロパティ

Key プロパティ

Left プロパティ

Selected プロパティ

SmallIcon プロパティ

SubItems プロパティ (Listitems オブジェクト)

Tag プロパティ

Text プロパティ

Top プロパティ

Width プロパティ


ListItem オブジェクト、ListItems コレクションのメソッド

凡例

Add メソッド (ListItems コレクション)

Clear メソッド

CreateDragImage メソッド

EnsureVisible メソッド

Item メソッド

Remove メソッド


Add メソッド (ListItems コレクション)

関連項目	例

リスト ビュー コントロール内の ListItems コレクションに、ListItem オブジェクトを追加し、新しく作成されたオブジェクトへの参照を返します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Add(index, key, text, icon, smallIcon)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。ListItems コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。新しい ListItem オブジェクトを挿入する位置を整数で指定します。インデックスの指定が省略されると、新しい ListItem オブジェクトは ListItems コレクションの末尾に追加されます。

key	省略可能です。コレクションのメンバにアクセスするときに使用する固有の文字列式を指定します。

text	省略可能です。ListItem オブジェクト コントロールに関連する文字列を指定します。

icon	省略可能です。リスト ビュー コントロールの表示形式が大きいアイコンで表示 (Icon) に設定されている場合、イメージ リスト コントロールで設定したアイコンの中から、表示されるアイコンを整数で指定します。

smallIcon	省略可能です。リスト ビュー コントロールの表示形式が小さいアイコン (SmallIcon) で表示に設定されている場合、イメージ リスト コントロールで設定したアイコンの中から、表示されるアイコンを整数で指定します。

解説

Icons プロパティまたは SmallIcons プロパティを設定する前に、これらを初期化する必要があります。デザイン時には、[リスト ビュー コントロールのプロパティ] ダイアログ ボックスの [全般] タブで、また実行時には次のコードで初期化することができます。

ListView1.Icons = ImageList1   'イメージ リスト コントロールを ImageList1 と仮定しています。

ListView1.SmallIcons = ImageList2

リストが並べ替えられていない場合、ListItem オブジェクトは引数 index を使用して任意の位置に挿入できます。リストが並べ替えられている場合、引数 index は無視され、ListItem オブジェクトは並べ替えの順序に従って適切な位置に挿入されます。

index の指定が省略されると、ListItem オブジェクトは、最大数に 1 を加えた数をインデックスとして追加されます。


関連項目

Count プロパティ

Ghosted プロパティ

Index プロパティ

Item メソッド

ListItem オブジェクト、ListItems コレクション

Key プロパティ

リスト ビュー コントロール

Selected プロパティ

Sorted プロパティ (リスト ビュー コントロール)

SubItems プロパティ


Add メソッド (ListItems、ColumnHeaders)、ListItems プロパティ、SubItems プロパティの例

次のプログラムでは、イメージ リスト コントロールからリスト ビュー コントロールに、イメージを含む複数の ListItem オブジェクトを追加します。このプログラムを実行するには、フォーム上にコンボ ボックス (ComboBox) コントロール、リスト ビュー コントロール、および 2 つのイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行します。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値に相当します。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Author", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Author ID", ListView1.Width / 3, lvwColumnCenter)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Birthdate", ListView1.Width / 3)

ListView1.View = lvwReport ' View プロパティを詳細表示 (Report) に設定します。

' イメージ リスト コントロールにイメージをロードします。

Dim imgX As ListImage

Set imgX = ImageList1.ListImages.Add _

(,,LoadPicture("icons\Writing\Note06.ico"))

Set imgX = ImageList2.ListImages.Add _

(,,LoadPicture("bitmaps\assorted\w.bmp"))

' Icons プロパティを ImageList1 に設定します。

ListView1.Icons = ImageList1

ListView1.SmallIcons = ImageList2

' 表示形式を切り替えるための項目をコンボ ボックスに追加します。

With Combo1

.AddItem "Icon" 	' 0

.AddItem "SmallIcon"	' 1

.AddItem "List"	' 2

.AddItem "Report"	' 3

.ListIndex = 0

End With

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを "Authors" テーブルに設定します。

Set myRs = myDb.OpenRecordset("Authors", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、author フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、ID field 0 を使用します。

' ListItem オブジェクトの SubItem(2) には、"Year of Birth" フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems. _

Add(, , CStr(myRs!Author),1) ' Author フィールド。

' AuthorID フィールドが長さ 0 の文字列以外の場合、SubItem 1 をこれに設定します。

If Not IsNull(myRs!Au_id) Then

itmX.SubItems(1) = CStr(myRs!Au_id)	' Author ID フィールド。

End If

' birth フィールドが長さ 0 の文字列以外の場合、SubItem 2 をこれに設定します。

If Not IsNull(myRs![Year Born]) Then

itmX.SubItems(2) = myRs![Year Born]

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

End Sub

Private Sub combo1_Click()

' コンボ ボックスで表示形式を切り替えます。

ListView1.View = combo1.ListIndex

End Sub


Alignment プロパティ (ColumnHeader オブジェクト)

関連項目

ColumnHeader オブジェクト内のテキスト配置を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Alignment [= integer]

Alignment プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ColumnHeader オブジェクトへの参照を表すオブジェクト式を指定します。

integer	配置を整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

integer の設定値は次のとおりです。

定数	値	内容

lvwColumnLeft	0	(既定値) 左詰め。テキストは左詰めで配置されます。

lvwColumnRight	1	右詰め。テキストは右詰めで配置されます。

lvwColumnCenter	2	中央揃え。テキストは中央揃えで配置されます。


関連項目

Add メソッド (ColumnHeaders コレクション)

ColumnHeader オブジェクト、ColumnHeaders コレクション

リスト ビュー コントロール


Arrange プロパティ

関連項目	例

リスト ビュー コントロールの表示形式が大きいアイコンで表示 (Icon) または小さいアイコンで表示 (SmallIcon) の場合の、アイコンの整列方法を設定します。値の取得も可能です。表示形式が大きいアイコンで表示 (Icon) または小さいアイコンで表示 (SmallIcon) にだけ有効です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Arrange [= value]

Arrange プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

value	アイコンまたは小さいアイコンの配置のしかたを、整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

lvwNoArrange	0	(既定値) なし。

lvwAutoLeft	1	左。項目はコントロールの左端に沿って自動的に配置されます。

lvwAutoTop	2	上。項目はコントロールの上端に沿って自動的に配置されます。


関連項目

Icons、SmallIcons プロパティ (リスト ビュー コントロール)

リスト ビュー コントロール

Sorted プロパティ (リスト ビュー コントロール)

SortKey プロパティ

SortOrder プロパティ

View プロパティ


Arrange プロパティの例

次のプログラムでは、複数の ListItem オブジェクトおよびサブアイテムを、リスト ビュー コントロールに追加します。コンボ ボックス (ComboBox) コントロールをクリックすると、コンボ ボックスの ListIndex 値で Arrange プロパティが設定されます。このプログラムを実行するには、フォーム上にコンボ ボックス コントロール、リスト ビュー コントロール、および 2 つのイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コンボ ボックス コントロールをクリックして Arrange プロパティを変更します。

Private Sub Combo1_Click()

' Arrange プロパティを Combo1.ListIndex に設定します。

ListView1.Arrange = Combo1.ListIndex

End Sub

Private Sub Form_Load()

' Arrange についての選択項目でコンボ ボックスを構成します。

With Combo1

.AddItem "No Arrange"      ' 0

.AddItem "Align Auto Left" ' 1

.AddItem "Align Auto Top"  ' 2

.ListIndex = 0

End With

' ListView および ImageList オブジェクトを作成するための変数を宣言します。

Dim i As Integer

Dim itmX As ListItem ' ListItems 用のオブジェクト変数。

Dim imgX As ListImage ' ListImages 用のオブジェクト変数。

' ListImage オブジェクトを イメージ リスト コントロールに追加します。

Set imgX = ImageList1.ListImages. _

Add(,,LoadPicture("icons\mail\mail01a.ico"))

ListView1.Icons = ImageList1 ' イメージ リスト コントロールを関連付けます。

' アイコンを伴う ListItem オブジェクトを 10 個追加します。

For i = 1 To 10

Set itmX = ListView1.ListItems.Add()

itmX.Icon = 1      	' アイコン。

itmX.Text = "ListItem " & i

Next i

End Sub


ColumnClick イベント

関連項目	例

リスト ビュー コントロール内の ColumnHeader オブジェクトがクリックされたときに発生します。これは表示形式が詳細表示 (Report) の場合に限り有効です。

重要   このイベントは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_ColumnClick(ByVal columnheader As ColumnHeader)

ColumnClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

columnheader	クリックされた ColumnHeader オブジェクトへの参照を指定します。

解説

クリックされた列見出しをキーとしてリストを並べ替えるには、コードの中で Sorted プロパティ、SortKey プロパティ、および SortOrder プロパティを使用します。


関連項目

Click イベント

リスト ビュー コントロール

Sorted プロパティ (リスト ビュー コントロール)

SortKey プロパティ

SortOrder プロパティ


ColumnHeaders プロパティ

関連項目

ColumnHeader オブジェクトのコレクションへの参照を返します。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.ColumnHeaders

引数 object には、リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

ColumnHeader オブジェクトは、コレクションに標準で用意されているメソッド (Remove メソッドなど) を使用して操作できます。コレクション内の各 ColumnHeader オブジェクトには、そのインデックス、または Key プロパティに格納されている固有のキーでアクセスできます。


関連項目

Add メソッド (ColumnHeaders コレクション)

ColumnHeader オブジェクト、ColumnHeaders コレクション

Key プロパティ

リスト ビュー コントロール


Ghosted プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトを淡色で表示するかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Ghosted [= boolean]

Ghosted プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ListItem オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	アイコンまたは小さいアイコンを淡色で表示するかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	ListItem オブジェクトのアイコンを淡色で表示します。

False	(既定値) ListItem オブジェクトを淡色で表示しません。

解説

通常、Ghosted プロパティは、ListItem オブジェクトが切り取られたときに表示されます。

淡色で表示されている ListItem オブジェクトが選択された場合、ラベルは反転表示されます。ただし、そのイメージは反転表示されません。


関連項目

ListItem メソッド

リスト ビュー コントロール

SelectedItem プロパティ


Ghosted、MultiSelect プロパティの例

次のプログラムでは、BIBLIO.MDB データベースの Authors テーブルの内容でリスト ビュー コントロールを設定し、MultiSelect プロパティ オプションでコンボ ボックスを設定します。ユーザーは任意の項目を選択できます。また、Shift キーを押しながら複数の項目を選択することもできます。コマンド ボタンをクリックすると、選択項目の Ghosted プロパティが真 (True) に設定されます。このプログラムを実行するには、フォーム上にコンボ ボックス (ComboBox) コントロール、リスト ビュー コントロール、イメージ リスト コントロール、およびコマンド ボタン (CommandButton) コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コンボ ボックスから MultiSelect オプションを選択し、項目をクリックして選択します。コマンド ボタンをクリックしてこれを淡色で表示します。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub Command1_Click()

Dim x As Object

Dim i As Integer

' 選択された ListItem を淡色で表示します。

If ListView1.SelectedItem Is Nothing Then Exit Sub

For i = 1 To ListView1.ListItems.Count

If ListView1.ListItems(i).Selected = True Then

ListView1.ListItems(i).Ghosted = True

End If

Next i

End Sub

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

' MultiSelect オプションでコンボ ボックスを設定します。

With Combo1

.AddItem "No MultiSelect"

.AddItem " MultiSelect"

.ListIndex = 1 ' MultiSelect を真 (True) に設定します。

End With

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

ListView1.View = lvwReport ' View プロパティをレポートに設定します。

' ImageList コントロールにイメージを追加します。

Dim imgX As ListImage

Set imgX = ImageList1.ListImages. _

Add(, , LoadPicture("icons\mail\mail01a.ico"))

ListView1.Icons = ImageList1

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、Name フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、Address フィールドを使用します。

' ListItem オブジェクトの SubItem(2) には、Phone フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

itmX.Icon = 1 ' Set icon to the ImageList icon.

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 をフィールドに設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 をフィールドに設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

ListView1.View = lvwIcon ' 表示形式を大きいアイコンで表示 (Icon) にして表示します。

Command1.Caption = "Cut" ' コマンド ボタンのキャプションを設定します。

' フォームにキャプションを追加します。

Me.Caption = "Select any item(s) and click 'Cut'."

End Sub

Private Sub Combo1_Click()

ListView1.MultiSelect = Combo1.ListIndex

End Sub


HideColumnHeaders プロパティ

関連項目	例

リスト ビュー コントロールの表示形式が詳細表示 (Report) の場合、ColumnHeader オブジェクトを表示するかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.HideColumnHeaders [= boolean]

HideColumnHeaders プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

boolean	表示形式が詳細表示 (Report) の場合、列見出しを表示するかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	列見出しは表示されません。

False	(既定値) 列見出しは表示されます。

解説

HideColumnHeaders プロパティが真 (True) に設定されている場合でも、サブアイテムはそのまま表示されます。


関連項目

ColumnHeaders プロパティ

リスト ビュー コントロール


HideColumnHeaders プロパティの例

次のプログラムでは、サブアイテムを含む複数の ListItem オブジェクトを、リスト ビュー コントロールに追加します。コマンド ボタンをクリックすると、HideColumnHeaders プロパティが真 (True) および偽 (False) の間で順に切り替わります。このプログラムを実行するには、フォーム上にリスト ビュー コントロールおよびコマンド ボタン (CommandButton) コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コマンド ボタンをクリックして、HideColumnHeaders プロパティを切り替えます。

Private Sub Command1_Click()

' HideColumnHeaders プロパティのオフおよびオンを切り替えます。

ListView1.HideColumnHeaders = Abs(ListView1.HideColumnHeaders) - 1

End Sub

Private Sub Form_Load()

Dim clmX As ColumnHeader

Dim itmX As ListItem

Dim i As Integer

Command1.Caption = "HideColumnHeaders"

' 3 個の ColumnHeader オブジェクトをコントロールに追加します。

For i = 1 To 3

Set clmX = ListView1.ColumnHeaders.Add()

clmX.Text = "Col" & i

Next I

' 表示形式を詳細表示 (Report) に設定します。

ListView1.View = lvwReport

' 10 個の ListItems をコントロールに追加します。

For i = 1 To 10

Set itmX = ListView1.ListItems.Add()

itmX.Text = "ListItem " & i

itmX.SubItems(1) = "Subitem 1"

itmX.SubItems(2) = "Subitem 2"

Next i

End Sub


Icon、SmallIcon プロパティ (ListItem オブジェクト)

関連項目	例

イメージ リスト コントロール内の ListItem オブジェクトに関連するアイコンまたは小さいアイコンの、インデックス値またはキー値を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Icon [= index]

object.SmallIcon [= index]

Icon プロパティおよび SmallIcon プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ListItem オブジェクトへの参照を表すオブジェクト式を指定します。

index	関連するイメージ リスト コントロール内のアイコンまたは小さいアイコンを識別する、整数または固有の文字列を指定します。整数は ListItem オブジェクトの Index プロパティの値で、文字列は Key プロパティの値です。

解説

ListItem オブジェクト内のアイコンを使用する前に、オブジェクトを含んでいるリスト ビュー コントロールに、イメージ リスト コントロールを関連付ける必要があります。詳細については、「Icons、SmallIcons プロパティ (リスト ビュー コントロール)」を参照してください。次のコードは、正しい構文を示しています。

ListView1.ListItems(1).SmallIcons=1

リスト ビュー コントロールの表示形式が小さいアイコンで表示 (SmallIcon) の場合に、イメージが表示されます。


関連項目

Icons、SmallIcons プロパティ (リスト ビュー コントロール)

イメージ リスト コントロール

Index プロパティ

リスト ビュー コントロール


Icons、SmallIcons プロパティ

関連項目	例

リスト ビュー コントロールの表示形式が大きいアイコンで表示 (Icon) および小さいアイコンで表示 (SmallIcon) の場合に関連するイメージ リスト コントロールを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Icons [= imagelist]

object.SmallIcons [= imagelist]

Icons プロパティおよび SmallIcons プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

imagelist	イメージ リスト コントロールへの参照を表すオブジェクト式を指定します。

解説

実行時にリスト ビュー コントロールにイメージ リスト コントロールを関連付けるには、これらのプロパティを目的のイメージ リスト コントロールに設定します。

リスト ビュー コントロール内の各 ListItem オブジェクトも Icon プロパティおよび SmallIcon プロパティを持ち、これらに ListImage オブジェクトのインデックスを設定して表示されるイメージを決定します。

イメージ リスト コントロールをリスト ビュー コントロールに関連付けると、Index プロパティまたは Key プロパティの値を使用して、プロシージャ内の ListImage オブジェクトを参照できます。


関連項目

Icon、SmallIcon プロパティ (ListItem オブジェクト)

イメージ リスト コントロール

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール


Icon、SmallIcon、Icons、SmallIcons、View プロパティの例

次のプログラムでは、BIBLIO.MDB データベース内の Publishers テーブルの内容でリスト ビュー コントロールを設定します。コンボ ボックス (ComboBox) コントロールは、View プロパティの選択項目で設定します。フォーム上には、2 つの ImageList コントロールを配置する必要があります。1 つは Icon プロパティ用のイメージを設定し、もう 1 つは各 ListItem オブジェクトの SmallIcon プロパティ用のイメージを設定します。このプログラムを実行するには、フォーム上にリスト ビュー コントロール、コンボ ボックス コントロール、および 2 つのイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コンボ ボックス コントロールをクリックして、表示形式を切り替えます。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub combo1_Click()

' リスト ビュー コントロールの View プロパティを、

' Combo1 のListIndex に設定します。

ListView1.View = combo1.ListIndex

End Sub

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

ListView1.View = lvwReport ' View プロパティをレポートに設定します。

' イメージを ImageList1 に追加します -- 大きいアイコンの ImageList。

Dim imgX As ListImage

Set imgX = ImageList1.ListImages. _

Add(, , LoadPicture("icons\mail\mail01a.ico"))

' イメージを ImageList2 に追加します -- 小さいアイコンの ImageList。

Set imgX = ImageList2.ListImages. _

Add(, , LoadPicture("bitmaps\assorted\w.bmp"))

' イメージ リスト コントロールをリスト ビュー コントロールと共に使用するには、

' 特定の イメージ リスト コントロールを Icons プロパティおよび

' SmallIcons プロパティと関連付ける必要があります。

ListView1.Icons = ImageList1

ListView1.SmallIcons = ImageList2

' ComboBox1 に表示形式の選択項目を設定します。

With Combo1

.AddItem "Icon"        ' 0

.AddItem "SmallIcon"   ' 1

.AddItem "List"        ' 2

.AddItem "Report"      ' 3

.ListIndex = 0	' 表示形式を大きいアイコンで表示 (Icon) に設定します。

End With

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、Name フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、Address フィールドを使用します。

' ListItem オブジェクトの SubItem(2) には、Phone フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

itmX.Icon = 1	' ImageList1 からアイコンを設定します。

itmX.SmallIcon = 1	' ImageList2 からアイコンを設定します。

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 をフィールドに設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 をフィールドに設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

End Sub


ListItems プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトのコレクションへの参照を返します。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.ListItems

引数 object には、リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

ListItem オブジェクトは、コレクションに標準で用意されているメソッドで操作できます。コレクション内の各 ListItem には、Key プロパティに格納した固有のキーでアクセスできます。

Index プロパティを使用して、その表示位置から ListItem オブジェクトを取得することもできます。


関連項目

Icons、SmallIcons プロパティ (リスト ビュー コントロール)

Index プロパティ

Key プロパティ

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール


LabelWrap プロパティ

関連項目

リスト ビュー コントロールの表示形式が大きいアイコンで表示 (Icon) の場合、ラベルを折り返すかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.LabelWrap [= boolean]

LabelWrap プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

boolean	ラベルを折り返すかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) ラベルを折り返します。

False	ラベルを折り返しません。

解説

ラベルの長さは、コントロール パネルでアイコンの間隔を設定することによって決まります。Windows NT の場合は、[デスクトップ] ダイアログ ボックスで設定します。Windows 95 の場合は、[画面のプロパティ] ダイアログ ボックスの [デザイン] タブで設定します。


関連項目

リスト ビュー コントロール

View プロパティ


MultiSelect プロパティ

関連項目	例

リスト ビュー コントロールの中で項目を複数選択できるかどうか、および複数選択の方法を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.MultiSelect [= boolean]

MultiSelect プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

boolean	選択の方法をブール値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

定数	内容

False	(既定値) 複数選択はできません。

True	複数選択。Shift キーを押しながらマウスをクリックするか、または Shift キーを押しながら方向キー (↑、↓、←、→) を押していくと、前に選択した ListItem から現在の ListItem まで、複数選択できます。Ctrl キーを押しながらマウスをクリックすると、リスト内の ListItem が選択または選択解除されます。


関連項目

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール


SortKey プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトをどのように並べ替えるかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SortKey [= integer]

SortKey プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

integer	並べ替えのキーを整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

integer の設定値は次のとおりです。

設定値	内容

0	ListItem オブジェクトの Text プロパティを使用して並べ替えます。

>= 1	ListItem オブジェクトのサブアイテムを使用して並べ替えます。

解説

変更を行う前に、Sorted プロパティを真 (True) に設定する必要があります。

通常、列見出しがクリックされたときに、リストを並べ替えます。したがって、SortKey プロパティは ColumnClick イベントで使用し、クリックされた列を並べ替えキーとしてリストを並べ替えます。次のコードを参照してください。

Private Sub ListView1_ColumnClick (ByVal ColumnHeader as ColumnHeader)

ListView1.SortKey=ColumnHeader.Index-1

End Sub


関連項目

ColumnClick イベント

リスト ビュー コントロール

SortOrder プロパティ

Text プロパティ


SortOrder プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトを昇順または降順で並べ替えるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SortOrder [= integer]

SortOrder プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

integer	並べ替えの順序を整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

integer の設定値は次のとおりです。

定数	値	内容

lvwAscending	0	(既定値) 昇順。アルファベットの先頭 (A-Z)、日付の古いもの、または値の低い方から順に並べ替えます。

lvwDescending	1	降順。アルファベットの最後 (Z-A)、日付の新しいもの、または値の高い方から順に並べ替えます。

解説

SortOrder プロパティでリストの順序を変更する前に、Sorted プロパティを真 (True) に設定する必要があります。


関連項目

リスト ビュー コントロール

Sorted プロパティ (リスト ビュー コントロール)

SortKey プロパティ


SortKey、SortOrder、Sorted プロパティ、ColumnClick イベントの例

次のプログラムでは、3 つの ColumnHeader オブジェクトをリスト ビュー コントロールに追加し、BIBLIO.MDB データベースの Publishers レコードでコントロールを設定します。コンボ ボックス (ComboBox) コントロールは、並べ替え順序についての 2 つの選択項目を含みます。ColumnHeader をクリックすると、リスト ビュー コントロールは、コンボ ボックス コントロールで決定される SortOrder プロパティに従って並べ替えられます。このプログラムを実行するには、フォーム上にリスト ビュー コントロールおよびコンボ ボックス コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、ColumnHeaders をクリックして並べ替えを行い、コンボ ボックス コントロールをクリックして SortOrder プロパティを切り替えます。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub Combo1_Click()

' このコンボ ボックスは、Ascending (ListIndex 0) および

' Descending (ListIndex 1) という 2 つの項目を持ちます。どちらかを

' クリックし、リスト ビュー コントロールに対して SortOrder を設定します。

ListView1.SortOrder = Combo1.ListIndex

ListView1.Sorted = True ' Sort the List.

End Sub

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

ListView1.View = lvwReport ' View プロパティをレポートに設定します。

' SortOrder についての選択項目でコンボ ボックスを設定します。

With Combo1

.AddItem "Ascending (A-Z)"

.AddItem "Descending (Z-A)"

.ListIndex = 0

End With

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、Name フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、Address フィールドを使用します。

' ListItem オブジェクトの SubItem(2) には、Phone フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 をフィールドに設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 をフィールドに設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)

' ColumnHeader オブジェクトがクリックされると、その列のサブアイテムで、

' リスト ビュー コントロールが並べ替えられます。

' SortKey を、ColumnHeader の Index プロパティから 1 を引いた値に設定します。

ListView1.SortKey = ColumnHeader.Index - 1

' Sorted プロパティを真 (True) に設定してリストを並べ替えます。

ListView1.Sorted = True

End Sub


SubItemIndex プロパティ

関連項目	例

リスト ビュー コントロール内の ColumnHeader オブジェクトに関連するサブアイテムのインデックスを返します。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SubItemIndex [= integer]

SubItemIndex プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ColumnHeader オブジェクトへの参照を表すオブジェクト式を指定します。

integer	ColumnHeader オブジェクトに関連するサブアイテムのインデックスを整数で指定します。

解説

サブアイテムは、ListItem オブジェクトのデータを表す文字列の配列であり、表示形式が詳細表示 (Report) の場合に表示されます。

小さいアイコンおよび ListItem オブジェクトのテキストは常に先頭列に表示され、サブアイテムではなく ListItem オブジェクトとして扱われます。したがって、先頭の列見出しは、SubItemIndex プロパティが常に 0 に設定されています。

列見出しの個数で、サブアイテムの個数が決まります。列見出しの個数は、サブアイテムの個数よりも常に 1 つ多くなります。


関連項目

リスト ビュー コントロール

SubItems プロパティ


SubItemIndex プロパティの例

次のプログラムでは、3 つの ColumnHeader オブジェクトをリスト ビュー コントロールに追加します。次に、ListItem および Subitems を追加し、SubItemIndex を使用して、SubItems 文字列を正しい ColumnHeader オブジェクトに関連付けます。このプログラムを実行するには、フォーム上にリスト ビュー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行します。

' リスト ビュー コントロールの表示形式を詳細表示 (Report) にします。

ListView1.View = lvwReport

' 3 つの列を追加します。

ListView1.ColumnHeaders.Add , "Name", "Name"

ListView1.ColumnHeaders.Add , "Address", "Address"

ListView1.ColumnHeaders.Add , "Phone", "Phone"

' ListItem オブジェクトをコントロールに追加します。

Dim itmX As ListItem

' column 1 に名前を追加します。

Set itmX= ListView1.ListItems.Add(1, "Mary", "Mary")

' SubItemIndex を使用して、SubItem を正しい

' ColumnHeader に関連付けます。キー ("Address") を使用して、

' 右側の ColumnHeader を指定します。

itmX.SubItems(ListView1.ColumnHeaders("Address").SubItemIndex) _

= "212 Grunge Street"

' ColumnHeader キーを使用して、SubItems 文字列を

' 正しい ColumnHeader に関連付けます。

itmX.SubItems(ListView1.ColumnHeaders("Phone").SubItemIndex) _

= "555-1212"

Set itmX = ListView1.ListItems.Add(2, "Bill", "Bill")

itmX.SubItems(ListView1.ColumnHeaders("Address").SubItemIndex) _

= "101 Pacific Way"

itmX.SubItems(ListView1.ColumnHeaders("Phone").SubItemIndex) _

= "555-7879"

Set itmX= ListView1.ListItems.Add(3, "Susan", "Susan")

itmX.SubItems(ListView1.ColumnHeaders("Address").SubItemIndex) = _

"800 Chicago Street"

itmX.SubItems(ListView1.ColumnHeaders("Phone").SubItemIndex) = _

"555-4537"

Set itmX= ListView1.ListItems.Add(4, "Tom", "Tom")

itmX.SubItems(ListView1.ColumnHeaders("Address").SubItemIndex) _

= "200 Ocean City"

itmX.SubItems(ListView1.ColumnHeaders("Phone").SubItemIndex) = _

"555-0348"


View プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトの表示形式を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.View [= value]

View プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

value	コントロールの表示形式を整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

IvwIcon	0	(既定値) 大きいアイコンで表示。各 ListItem オブジェクトは、アイコンおよびテキスト ラベルで表示されます。

IvwSmallIcon	1	小さいアイコンで表示。各 ListItem オブジェクトは、小さいアイコンおよびアイコンの右側のテキスト ラベルで表示されます。項目は左右に並んで表示されます。

IvwList	2	一覧表示。各 ListItem オブジェクトは、小さいアイコンおよびアイコンの右側のテキスト ラベルで表示されます。各 ListItem オブジェクトは上下に並んで、各行に配置され、情報が列方向に表示されます。

IvwReport	3	詳細表示。各 ListItem オブジェクトは、小さいアイコンおよびテキスト ラベルで表示されます。各 ListItem オブジェクトの追加情報を、サブアイテムに設定できます。アイコン、テキスト ラベル、および情報が列方向に表示され、左端の列には小さいアイコンに続けてテキスト ラベルが表示されます。追加した列には、項目の各サブアイテムのテキストが表示されます。

解説

表示形式が大きいアイコンで表示 (Icon) の場合に限り、LabelWrap プロパティを使用して ListItem オブジェクトのラベルを折り返すかどうかを指定します。

表示形式が詳細表示 (Report) の場合、HideColumnHeaders プロパティを真 (True) に設定して、列見出しを非表示にすることができます。また、ColumnClick イベントおよび並べ替えプロパティを使用すると、ユーザーが列見出しをクリックしたときに、ListItem オブジェクトまたはサブアイテムを並べ替えることができます。ユーザーは、列見出しの右側の境界線をつかみ、これを目的のサイズまでドラッグすることによって、列のサイズを変更できます。


関連項目

ColumnClick イベント

HideColumnHeaders プロパティ

LabelWrap プロパティ

リスト ビュー コントロール

Sorted プロパティ (リスト ビュー コントロール)

SortKey プロパティ

SortOrder プロパティ


FindItem メソッド

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトを検索し、これを返します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.FindItem (string, value, index, match)

FindItem メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

string	必ず指定します。検索する ListItem オブジェクトを文字列式で指定します。

value	省略可能です。引数 string で指定した文字列で ListItem オブジェクトの Text、Subitems、または Tag のどのプロパティを検索するか、整数または定数で指定します。詳細については、「設定値」を参照してください。

index	省略可能です。オブジェクト コレクションの固有のメンバおよび検索の開始位置を、整数または文字列で指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。インデックスの指定が省略された場合、既定値は 1 です。

match	省略可能です。ListItem オブジェクトの Text プロパティを検索する場合の検索条件を、整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

lvwText	0	(既定値) ListItem オブジェクトの Text プロパティを検索します。

lvwSubitem	1	ListItem オブジェクトの SubItems プロパティを検索します。

lvwTag	2	ListItem オブジェクトの Tag プロパティを検索します。

match の設定値は次のとおりです。

定数	値	内容

lvwWholeWord	0	(既定値) 引数 string で指定した文字列と完全に一致する Text プロパティだけを検索します。引数 value で指定した検索対象が Text プロパティ以外の場合は無視されます。

lvwPartial	1	引数 string で指定した文字列で始まる Text プロパティだけを検索します。引数 value で指定した検索対象が Text プロパティ以外の場合は無視されます。

解説

検索対象として Text プロパティを指定した場合、lvwPartial を指定すると、ListItem オブジェクトの Text プロパティが検索文字列で始まる項目を検索できます。次のコードでは、テキストが“AUTOEXEC.BAT”である ListItem オブジェクトを検索します。

'ListItem 変数を作成します。

Dim itmX As ListItem

'検索を行います。

Set itmX = ListView1.FindItem("Auto",,,lvwpartial)


関連項目

Index プロパティ

Key プロパティ

リスト ビュー コントロール

SubItems プロパティ (ListItems オブジェクト)

Tag プロパティ

Text プロパティ


FindItem メソッドの例

次のプログラムでは、BIBLIO.MDB データベースの Publishers テーブルの内容でリスト ビュー コントロールを設定します。コンボ ボックス (ComboBox) コントロールも、FindItem メソッドの 3 種類のオプションで設定します。コマンド ボタンには、FindItem メソッド用のコードが含まれていて、ボタンをクリックすると、検索文字列の入力が求められ、FindItem メソッドがこの文字列をリスト ビュー コントロールで検索します。文字列が検出されると、EnsureVisible メソッドを使用してコントロールがスクロールされ、検出された ListItem オブジェクトが表示されます。このプログラムを実行するには、フォーム上にリスト ビュー コントロール、コンボ ボックス コントロール、およびコマンド ボタン (CommandButton) コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コマンド ボタンをクリックします。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

ListView1.View = lvwReport ' View プロパティをレポートに設定します。

Command1.Caption = "&FindItem"

' FindItem (FindWhere) 引数を切り替えるための Combo1 を設定します。

With Combo1

.AddItem "Text"      ' 0 テキストを検索します。

.AddItem "SubItem"   ' 1 サブアイテムを検索します。

.AddItem "Tag"       ' 2 ラベルを検索します。

.ListIndex = 0       ' コンボ ボックスに先頭の項目を表示します。

End With

' データベース レコードでリスト ビュー コントロールを設定します。

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' 最終レコードまで、ListItem オブジェクトを追加します。

' プロパティを設定するには、新オブジェクトへの参照を使用します。

' Text プロパティを Name フィールド (myRS!Name) に設定します。

' SubItem(1) をAddress フィールド (myRS!Address) に設定します。

' SubItem(7) をPhone フィールド (myRS!Telephone) に設定します。

While Not myRs.EOF

Dim itmX As ListItem ' ListItem 変数。

Dim intCount As Integer ' カウンタ変数。

' Add メソッドを使用して、新しい ListItem を追加し、

' オブジェクト変数を新しい参照に設定します。

' プロパティを設定するには、参照を使用します。

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

intCount = intCount + 1 ' Tag プロパティのカウンタをインクリメントします。

itmX.Tag = "ListItem " & intCount ' Tag をカウンタで設定します。

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 を Address に設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 を Phone に設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

End Sub

Private Sub Command1_Click()

' FindItem メソッド。

' strFindMe という文字列変数を作成します。入力ボックスを使用して、

' 検索する文字列を変数に格納します。

' FindItem メソッドを使用して、文字列を検索します。検索位置を決定する

' FindItem 引数を切り替えるには、Combo1 を使用します。

Dim strFindMe As String

strFindMe = InputBox("Find in " & Combo1.Text)

' FindItem メソッドは、検出項目への参照を返します。このため、

' オブジェクト変数を作成し、検出項目をこれに設定する

' 必要があります。

Dim itmFound As ListItem ' FoundItem 変数。

Set itmFound = ListView1. _

FindItem(strFindMe, Combo1.ListIndex, , lvwPartial)

' ListItem が検出されない場合、ユーザーに対してメッセージが出力され、

' 終了します。ListItem が検出された場合、EnsureVisible メソッドを使用して

' コントロールをスクロールし、ListItem を選択します。

If itmFound Is Nothing Then ' 一致しない場合、ユーザーにメッセージが出力され、終了します。

MsgBox "No match found"

Exit Sub

Else

 itmFound.EnsureVisible ' リスト ビュー コントロールをスクロールして、検出された ListItem を表示します。

 itmFound.Selected = True ' ListItem を選択します。

' コントロールにフォーカスを返し、選択した内容を表示します。

 ListView1.SetFocus

End If

End Sub

Private Sub ListView1_LostFocus()

' コントロールのフォーカスが失われた後で、各 ListItem の Selected

' プロパティを偽 (False) に設定します。

Dim i As Integer

For i = 1 to ListView1.ListItems.Count

ListView1.ListItems.Item(i).Selected = False

Next i

End Sub


GetFirstVisible メソッド

関連項目	例

リスト ビュー コントロールの内部領域に表示されている、先頭の ListItem オブジェクトへの参照を取得します。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.GetFirstVisible()

引数 object には、リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

リスト ビュー コントロールをスクロールすると、リスト ビュー コントロールの内部領域よりも多くの ListItem オブジェクトを表示できます。表示形式が一覧表示 (List) および詳細表示 (Report) の場合、先頭の ListItem オブジェクトへの参照を使用して、また大きいアイコンで表示 (Icon) および小さいアイコンで表示 (SmallIcon) の場合、Left プロパティおよび Top プロパティを使用して、スクロールを開始する位置を決定できます。


関連項目

EnsureVisible メソッド

Index プロパティ

Key プロパティ

Left、Top プロパティ

リスト ビュー コントロール


GetFirstVisible メソッドの例

次のプログラムでは、BIBLIO.MDB データベースの Publishers テーブルの内容でリスト ビュー コントロールを設定します。コマンド ボタン (CommandButton) コントロールをクリックすると、先頭に表示されている項目のテキストが表示されます。列見出しをクリックして SortKey プロパティを変更し、再びコマンド ボタン コントロールをクリックします。このプログラムを実行するには、フォーム上にリスト ビュー コントロールおよびコマンド ボタン コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行します。

注   このプログラムを動作させるには、まず [ツール] - [参照設定] コマンドを選択し、Microsoft DAO Version 3.0 オブジェクト ライブラリへの参照を追加してください。

Private Sub Command1_Click()

' ListItem 変数を作成し、変数を、GetFirstVisible メソッドで

' 返されたオブジェクトに設定します。参照を使用して、

' ListItem のテキストを表示します。

Dim itmX As ListItem

Set itmX = ListView1.GetFirstVisible

MsgBox itmX.Text

End Sub

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、Name フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、Address フィールドを使用します。

' ListItem オブジェクトの SubItem(2) には、Phone フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 をフィールドに設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 をフィールドに設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

ListView1.View = lvwReport ' 表示形式を詳細表示 (Report) に設定します。

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)

ListView1.SortKey = ColumnHeader.Index - 1

ListView1.Sorted = True

End Sub


ColumnHeaders

ColumnHeaders キーワードは、次のコンテキストの中で使用されます。

ColumnHeaders コレクション

ColumnHeaders プロパティ


SubItems プロパティ

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトのデータを表す文字列の配列 (サブアイテム) を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SubItems(index) [= string]

SubItems プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ListItem オブジェクトへの参照を表すオブジェクト式を指定します。

index	指定された ListItem のサブアイテムを識別する整数を指定します。

string	サブアイテムを表すテキストを指定します。

解説

サブアイテムは、ListItem オブジェクトのデータを表す文字列の配列であり、表示形式が詳細表示 (Report) の場合に表示されます。たとえば、ファイル一覧ではファイルのサイズおよび最終更新日付を表示することができます。

ListItem オブジェクトは、任意の個数の関連項目データ文字列 (サブアイテム) を持つことができますが、各 ListItem オブジェクトは、同じ個数のサブアイテムを持つ必要があります。これらの文字列は、リスト ビュー コントロールの表示形式が詳細表示 (Report) の場合に表示されます。

サブアイテムごとに、対応する列見出しが定義されています。

サブアイテム配列に対して、要素を直接追加することはできません。サブアイテムを追加するには、ColumnHeaders コレクションの Add メソッドを使用します。


関連項目

Add メソッド (ColumnHeaders コレクション)

Index プロパティ

ListItem オブジェクト、ListItems コレクション

Key プロパティ

リスト ビュー コントロール


リスト ビュー コントロールの定数

関連項目

リスト ビュー コントロール定数

定数	値	内容

IvwIcon	0	(既定値) 大きいアイコンで表示。各 ListItem オブジェクトは、アイコンおよびテキスト ラベルで表示されます。

IvwSmallIcon	1	小さいアイコンで表示。各 ListItem オブジェクトは、小さいアイコンおよびアイコンの右側のテキスト ラベルで表示されます。項目は左右に並んで表示されます。

IvwList	2	一覧表示。各 ListItem オブジェクトは、小さいアイコンおよびアイコンの右側のテキスト ラベルで表示されます。各 ListItem オブジェクトは上下に並んで、各行に配置され、情報が列方向に表示されます。

IvwReport	3	詳細表示。各 ListItem オブジェクトは、小さいアイコンおよびテキスト ラベルで表示されます。各 ListItem オブジェクトの追加情報を、サブアイテムに設定できます。アイコン、テキスト ラベル、および情報が列方向に表示され、左端の列には小さいアイコンに続けてテキスト ラベルが表示されます。追加した列には、項目の各サブアイテムのテキストが表示されます。

ListArrange 定数

定数	値	内容

lvwNoArrange	0	(既定値) なし。

lvwAutoLeft	1	左。ListItem オブジェクトは、コントロールの左端に沿って配置されます。

lvwTop	2	上。ListItem オブジェクトは、コントロールの上端に沿って配置されます。

ListColumnAlignment 定数

定数	値	内容

lvwColumnLeft	0	(既定値) 左詰め。テキストは左詰めで配置されます。

lvwColumnRight	1	右詰め。テキストは右詰めで配置されます。

lvwColumnCenter	2	中央揃え。テキストは中央揃えで配置されます。

ListLabelEdit 定数

定数	値	内容

lvwAutomatic	0	(既定値) 自動。BeforeLabelEdit イベントは、ユーザーが選択ノードのラベルをクリックするときに発生します。

lvwManual	1	手動。BeforeLabelEdit イベントは、StartLabelEdit メソッドが呼び出されたときに限って発生します。

ListSortOrder 定数

定数	値	内容

lvwAscending	0	(既定値) 昇順。アルファベットの先頭 (A-Z)、日付の古いもの、または値の低い方から順に並べ替えます。

lvwDescending	1	降順。アルファベットの最後 (Z-A)、日付の新しいもの、または値の高い方から順に並べ替えます。

ListFindItemWhere 定数

定数	値	内容

lvwText	0	(既定値) テキスト。ListItem オブジェクトの Text プロパティを検索します。

lvwSubItem	1	サブアイテム。ListItem オブジェクトの SubItems プロパティを検索します。

lvwTag	2	ラベル。.ListItem オブジェクトの Tag プロパティを検索します。

ListFindItemHow 定数

定数	値	内容

lvwWholeWord	0	(既定値) 完全に一致。(既定値) 引数 string で指定した文字列と完全に一致する Text プロパティだけを検索します。引数 value で指定した検索対象が Text プロパティ以外の場合は無視されます。

lvwPartial	1	部分的に一致。引数 string で指定した文字列で始まる Text プロパティだけを検索します。引数 value で指定した検索対象が Text プロパティ以外の場合は無視されます。


関連項目

Arrange プロパティ

Alignment プロパティ (ColumnHeader オブジェクト)

FindItem メソッド

LabelEdit プロパティ

SortOrder プロパティ

View プロパティ

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


Sorted プロパティ (リスト ビュー コントロール)

関連項目	例

リスト ビュー コントロールの表示形式が大きいアイコンで表示 (Icon) および小さいアイコンで表示 (SmallIcon) の中で、ListItem オブジェクトを並べ替えるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Sorted [= boolean]

Sorted プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

boolean	ListItem オブジェクトを並べ替えるかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	リスト項目を、SortOrder プロパティに従って、アルファベット順に並べ替えます。

False	リスト項目を並べ替えません。

解説

SortOrder プロパティおよび SortKey プロパティの設定を反映させるには、Sorted プロパティを真 (True) に設定する必要があります。

表示形式が大きいアイコンで表示 (Icon) および小さいアイコンで表示 (SmallIcon) の場合、ListItem の座標が変更するたびに、Sorted プロパティは偽 (False) になります。


関連項目

Height、Width プロパティ

Left、Top プロパティ

リスト ビュー コントロール

SortKey プロパティ

SortOrder プロパティ


ItemClick イベント

関連項目	例

リスト ビュー コントロール内の ListItem オブジェクトがクリックされたときに発生します。

重要   このイベントは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Subobject_ItemClick(ByVal Item As ListItem)

ItemClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

listitem	クリックされた ListItem オブジェクトを指定します。

解説

クリックされた ListItem オブジェクトを決定するには、このイベントを使用します。このイベントは、Click イベントの前に発生します。標準の Click イベントは、リスト ビュー コントロールの任意の位置でマウスがクリックされると発生します。ItemClick イベントは、ListItem オブジェクトのテキストまたはイメージ上でマウスがクリックされたときにだけ発生します。


関連項目

Click イベント

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール


ItemClick イベントの例

次のプログラムでは、BIBLIO.MDB データベース内の Publishers テーブルの内容でリスト ビュー コントロールを設定します。ListItem オブジェクトがクリックされると、コードは Index プロパティの値をチェックします。この値が 15 未満の場合は、何も発生しません。値が 15 を越える場合は、ListItem オブジェクトが淡色で表示されます。このプログラムを実行するには、フォーム上にリスト ビュー コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、項目の 1 つをクリックします。

Private ListView1_ItemClick(ByVal Item As ListItem)

Select Case Item.Index

Case Is = <15

Exit Sub

Case Is => 15

' Ghosted プロパティを切り替えます。

Item.Ghosted = Abs(Item.Ghosted) - 1

End Select

End Sub

Private Sub Form_Load()

' ColumnHeader オブジェクト用のオブジェクト変数を作成します。

Dim clmX As ColumnHeader

' ColumnHeaders を追加します。列の幅は、コントロールの幅を

' ColumnHeader オブジェクトの個数で割った値です。

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Company", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Address", ListView1.Width / 3)

Set clmX = ListView1.ColumnHeaders. _

Add(, , "Phone", ListView1.Width / 3)

ListView1.BorderStyle = ccFixedSingle ' BorderStyle プロパティを設定します。

' データ アクセス オブジェクト用のオブジェクト変数を作成します。

Dim myDb As Database, myRs As Recordset

' データベースを BIBLIO.MDB データベースに設定します。

Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")

' レコードセットを Publishers テーブルに設定します。

Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)

' ListItem オブジェクトを追加するための変数を作成します。

Dim itmX As ListItem

' 最終レコードまで、ListItem オブジェクトを追加します。

' ListItem オブジェクトのテキストには、Name フィールドを使用します。

' ListItem オブジェクトの SubItem(1) には、Address フィールドを使用します。

' ListItem オブジェクトの SubItem(2) には、Phone フィールドを使用します。

While Not myRs.EOF

Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name))

' Address フィールドが長さ 0 の文字列以外の場合、SubItem 1 をフィールドに設定します。

If Not IsNull(myRs!Address) Then

itmX.SubItems(1) = CStr(myRs!Address) ' Address フィールド。

End If

' Phone フィールドが長さ 0 の文字列以外の場合、SubItem 2 をフィールドに設定します。

If Not IsNull(myRs!Telephone) Then

itmX.SubItems(2) = myRs!Telephone  ' Phone フィールド。

End If

myRs.MoveNext ' 次のレコードに移動します。

Wend

ListView1.View = lvwReport ' 表示形式を詳細表示 (Report) に設定します。

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)

ListView1.SortKey = ColumnHeader.Index - 1

ListView1.Sorted = True

End Sub


ListItems

ListItems キーワードは、次のコンテキストの中で使用されます。

ListItems コレクション

ListItems プロパティ


CellHeight、CellWidth プロパティ (ピクチャ クリップ コントロール)

関連項目

ピクチャ クリップ コントロールの GraphicCell プロパティの高さおよび幅を、ピクセル単位で返します。

構文

object.CellHeight

object.CellWidth

引数 object には、ピクチャ クリップ コントロールへの参照を表すオブジェクト式を指定します。

解説

CellHeight プロパティおよび CellWidth プロパティは、ピクチャ クリップ コントロールの Cols プロパティおよび Rows プロパティに依存します。たとえば、ピクチャを 4 列および 4 行に分けると、GraphicCell は同じピクチャの 2 倍の大きさとなり、8 列および 8 行に分けられます。


関連項目

Cols、Rows プロパティ (ピクチャ クリップ コントロール)

GraphicCell プロパティ (ピクチャ クリップ コントロール)


 プログレスバー コントロール

関連項目	プロパティ	メソッド	イベント

プログレスバー コントロールは、時間のかかる操作の開始から終了までを表す長方形を、左から右へかたまりで塗りつぶしてその操作の進行状況を表示します。

構文

ProgressBar

解説

プログレスバー コントロールを使用すると、操作が完了するまでその進行状況を監視できます。この機能はゲージ コントロールと同様の機能ですが、ゲージ コントロールのような精密さはありません。

プログレスバー コントロールは、操作の進行状況に比例して、おおよそのかたまりを塗りつぶします。

ゲージ コントロールは、メモリの空き容量など、継続して正確に測定した値を塗りつぶします。

プログレスバー コントロールと共に Align プロパティを使用すると、フォームの上端または下端に自動的に配置できます。

プログレスバー コントロールには、範囲および現在位置があります。範囲は、操作の継続時間全体を表します。現在位置は、操作の完了に向けてアプリケーションが実行されている進行状況を表します。Max プロパティおよび Min プロパティで、範囲を限定する値を設定します。Value プロパティに現在設定している値を 1 つのかたまりとして、そのかたまりで範囲を塗りつぶすので、塗りつぶされる量はおよその量になります。Value プロパティでは、プログレスバー コントロールの大きさに基づいて、次のかたまりをいつ塗りつぶすかを設定します。

プログレスバー コントロールでは、Height プロパティおよび Width プロパティを使用して、プログレスバー コントロールを塗りつぶすかたまりの個数および大きさを設定します。操作の進行状況をより正確に表示するには、このかたまりの個数を増やします。表示するかたまりの個数を増やすには、プログレスバー コントロールの Height プロパティの値を減少するか、または Width プロパティの値を増加するかします。BorderStyle プロパティの設定値によっても、かたまりの個数および大きさは変更されます。境界線のスタイルを設定すると、かたまりの大きさは小さくなります。

ヒント   進行状況の進み具合をわかりやすく表示するには、プログレスバー コントロールの幅を高さの少なくとも 12 倍に設定します。

次のプログラムでは、プログレスバー コントロール (ProgressBar1) を使用して、要素数が多い配列の時間のかかる操作の進行状況を表示します。まず、フォーム上にコマンド ボタン (CommandButton) コントロールおよびプログレスバー コントロールを配置します。次に Align プロパティを設定してプログレスバー コントロールをフォームの下端に配置します。プログレスバー コントロールには文字列は表示されません。

Private Sub Command1_Click()

Dim Counter As Integer

Dim Workarea(250) As String

ProgressBar1.Min = LBound(Workarea)

ProgressBar1.Max = UBound(Workarea)

ProgressBar1.Visible = True

'プログレスバー コントロール (ProgressBar1) の Min プロパティに Value プロパティの値を設定します。

ProgressBar1.Value = ProgressBar1.Min

'配列の中をループします。

For Counter = LBound(Workarea) To UBound(Workarea)

'配列の各項目に初期値を設定します。

Workarea(Counter) = "Initial value" & Counter

ProgressBar1.Value = Counter

Next Counter

ProgressBar1.Visible = False

ProgressBar1.Value = ProgressBar1.Min

End Sub

Private Sub Form_Load()

ProgressBar1.Align = vbAlignBottom

ProgressBar1.Visible = False

Command1.Caption = "Initialize array"

End Sub

配布時の注意   プログレスバー コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、プログレスバー コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでプログレスバー コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については『プログラミング ガイド』を参照してください。


関連項目

Align プロパティ

BorderStyle プロパティ

ゲージ コントロール

Height、Width プロパティ

Max、Min プロパティ (プログレスバー、スライダ コントロール)

Value プロパティ (プログレスバー、スライダ コントロール)


プログレスバー コントロールのプロパティ

Align プロパティ

Appearance プロパティ

BorderStyle プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Height プロパティ

hWnd プロパティ

Index プロパティ

Left プロパティ

Max プロパティ

Min プロパティ

MouseIcon プロパティ

MousePointer プロパティ

Name プロパティ

Negotiate プロパティ

Object プロパティ

Parent プロパティ

TabIndex プロパティ

Tag プロパティ

Top プロパティ

Value プロパティ (プログレスバー、スライダ コントロール)

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


プログレスバー コントロールのメソッド

Drag メソッド

Move メソッド

ShowWhatsThis メソッド

ZOrder メソッド


プログレスバー コントロールのイベント

Click イベント

DragDrop イベント

DragOver イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント


 リッチテキスト ボックス コントロール

関連項目	プロパティ	メソッド	イベント	定数

リッチテキスト ボックス コントロールは、テキストを入力し、編集する機能を提供します。また、このコントロールは、従来のテキスト ボックス (TextBox) コントロールよりも豊富な書式設定を実現します。

構文

RichTextBox

解説

リッチテキスト ボックス コントロールでは、多くのプロパティを使用して、コントロール内のテキストの書式を任意に設定することができます。テキストの書式を変更するには、まずテキストを選択します。選択したテキストに限り、文字および段落の書式を割り当てることができます。これらのプロパティを使用すると、テキストを太字や斜体にしたり、色を変更したり、上付き文字および下付き文字を作成したりすることができます。また、ぶら下げインデントや左右両方のインデントを設定することにより、段落の書式を調整することもできます。

リッチテキスト ボックス コントロールではまた、リッチ テキスト形式および標準の ASCII テキスト形式のファイルを開いたり、保存したりできます。コントロールの LoadFile メソッドおよび SaveFile メソッドを使用して、ファイルの読み取りおよび書き込みを直接行ったり、またコントロールの SelRTF プロパティおよび TextRTF プロパティなどを Visual Basic のファイル入出力ステートメントと組み合わせて使用したりすることができます。Windows 95 のエクスプローラなどからファイルをドラッグして、また Microsoft Word など他のアプリケーションで使用されているファイルの反転表示部分をドラッグして、それらの内容をコントロール上に直接ドロップすることもできます。この場合、ドロップするだけで、.RTF ファイルの内容をリッチテキスト ボックス コントロールにロードすることができます。FileName プロパティを設定することで、.RTF ファイルまたはテキスト ファイルの内容をコントロールにロードすることもできます。

SelPrint メソッドを使用すると、リッチテキスト ボックス コントロール内のテキストを印刷することもできます。

リッチテキスト ボックス コントロールはデータ結合コントロールで、データ (Data) コントロールと共に使用して、Microsoft Access データベース内の Memo フィールドに連結できます。また、他のデータベース内の大容量のテキスト フィールド、たとえば SQL Server 内の TEXT データ タイプ フィールドなどに連結することもできます。

リッチテキスト ボックス コントロールでは、標準のテキスト ボックス (TextBox) コントロールで使用されている MaxLength、MultiLine、ScrollBars、SelLength、SelStart、SelText の各プロパティを含む、ほとんどのプロパティ、イベント、およびメソッドをサポートしています。したがって、テキスト ボックス コントロールをすでに使用しているアプリケーションでは、簡単にリッチテキスト ボックス コントロールを使用できます。また、リッチテキスト ボックス コントロールは、従来のテキスト ボックス コントロールとは異なり、64K 文字容量の制限を受けません。

配布時の注意   リッチテキスト ボックス コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降の 32 ビット システムで動作します。アプリケーションでリッチテキスト ボックス コントロールを使用するには、RICHTX32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに、RICHTX32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


関連項目

サポートされる RTF コード


リッチテキスト ボックス コントロールのプロパティ

Appearance プロパティ

BackColor プロパティ

BorderStyle プロパティ

BulletIndent プロパティ

Container プロパティ

DataChanged プロパティ

DataField プロパティ

DataSource プロパティ

DisableNoScroll プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

FileName プロパティ

Font プロパティ

Height プロパティ

HelpContextID プロパティ

HideSelection プロパティ

hWnd プロパティ

Index プロパティ

Left プロパティ

Locked プロパティ

MaxLength プロパティ

MouseIcon プロパティ

MousePointer プロパティ

MultiLine プロパティ

Name プロパティ

Object プロパティ

Parent プロパティ

RightMargin プロパティ

ScrollBars プロパティ

SelAlignment プロパティ

SelBold プロパティ

SelBullet プロパティ

SelCharOffset プロパティ

SelColor プロパティ

SelFontName プロパティ

SelFontSize プロパティ

SelHangingIndent プロパティ

SelIndent プロパティ

SelItalic プロパティ

SelLength プロパティ

SelRightIndent プロパティ

SelRTF プロパティ

SelStart プロパティ

SelStrikethru プロパティ

SelTabCount プロパティ

SelTabs プロパティ

SelText プロパティ

SelUnderline プロパティ

TabIndex プロパティ

TabStop プロパティ

Tag プロパティ

Text プロパティ

TextRTF プロパティ

Top プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


リッチテキスト ボックス コントロールのメソッド

Drag メソッド

Find メソッド

GetLineFromChar メソッド

LoadFile メソッド

Move メソッド

Refresh メソッド

SaveFile メソッド

SelPrint メソッド

SetFocus メソッド

ShowWhatsThis メソッド

Span メソッド

UpTo メソッド

ZOrder メソッド


リッチテキスト ボックス コントロールのイベント

Change イベント

Click イベント

DblClick イベント

DragDrop イベント

DragOver イベント

GotFocus イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント

SelChange イベント


DisableNoScroll プロパティ

関連項目

リッチテキスト ボックス コントロール内のスクロール バーを無効にするかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.DisableNoScroll [= boolean]

DisableNoScroll プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

boolean	スクロール バーが有効かどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

False	(既定値) 操作可能なスクロール バーが表示されます。

True	操作可能なスクロール バーは淡色表示されます。

解説

ScrollBars プロパティを 0 (なし) に設定している場合、DisableNoScroll プロパティは無視されます。しかし、ScrollBars プロパティを 1 (水平)、2 (垂直)、または 3 (両方) に設定している場合で、リッチテキスト ボックス コントロールの中で、行が少なすぎて垂直にスクロールできないとき、またはテキストの文字が少なすぎて水平にスクロールできないときは、各スクロール バーは無効です。


関連項目

リッチテキスト ボックス コントロール

ScrollBars プロパティ


FileName プロパティ (リッチテキスト ボックス コントロール)

関連項目

リッチテキスト ボックス コントロールにあらかじめロードされるファイルの名前を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.FileName

引数 object には、リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

解説

このプロパティをデザイン時に指定すると、あらかじめファイルをロードすることができます。このプロパティには、テキスト ファイルまたは有効な .RTF ファイルの名前だけを指定します。


関連項目

LoadFile メソッド

リッチテキスト ボックス コントロール

SaveFile メソッド

サポートされる RTF コード


Find メソッド

関連項目	例

指定された文字列をリッチテキスト ボックス コントロール内のテキストから検索します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Find(string, start, end, options)

Find メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

string	必ず指定します。コントロールの中で検索する文字列式を指定します。

start	省略可能です。検索を開始する文字の位置を整数型のインデックスで指定します。コントロール内の各文字は、固有の整数型のインデックスを持ちます。コントロール内のテキストの先頭文字のインデックスは 0 です。

end	省略可能です。検索を終了する文字の位置を整数型のインデックスで指定します。

options	省略可能です。オプションの機能を定数の合計で指定します。設定する値については、次の「設定値」を参照してください。

設定値

options の設定値は次のとおりです。

定数	値	内容

rtfWholeWord	2	指定した文字列に、完全に一致する単語だけを検索するか、部分的に含まれる単語を検索するかを指定します。

rtfMatchCase	4	大文字と小文字を区別して単語を検索するかどうかを指定します。

rtfNoHighlight	8	一致した単語を、リッチテキスト ボックス コントロールの中で反転表示するかどうかを指定します。

オプションの値または定数を合計することで、または値を Or 演算子で結合することで、複数のオプションを指定できます。

解説

Find メソッドでは、指定した文字列がテキスト中で見つかると、指定した文字列が反転表示され、その先頭文字のインデックスが返されます。指定した文字列が見つからない場合、-1 が返されます。

HideSelection プロパティが真 (True) で、リッチテキスト ボックス コントロールがフォーカスが持たない場合、rtfNoHighlight オプションなしで Find メソッドを使用すると、コントロールでは、見つかった文字列が反転表示され続けます。続けて Find メソッドを使用すると、カーソル位置が移動しない限り、反転表示された文字列だけが検索の対象です。

Find メソッドを使用して検索する場合、引数 start および引数 end の組み合わせによって動作は変わります。次の表は、実際に行われる検索動作の一覧です。

引数 Start	引数 End	動作

指定	指定	指定の開始位置から終了位置まで検索します。

指定	省略	指定の開始位置からコントロール内のテキストの末尾まで検索します。

省略	指定	現在のカーソル位置から指定の終了位置まで検索します。

省略	省略	テキストが選択されている場合は現在の選択部分を、またテキストが選択されていない場合はコントロールの内容全体を検索します。


関連項目

リッチテキスト ボックス コントロール


Find メソッドの例

次のプログラムでは、テキスト ボックス (TextBox) コントロールに入力された単語を元に、リッチテキスト ボックス コントロール内の文字列を検索します。指定した文字列が見つかると、その文字列が何行目に含まれるかをメッセージ ボックスに表示します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびテキスト ボックス コントロールを配置します。リッチテキスト ボックス コントロールにファイルをロードし、コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。プログラムを実行し、テキスト ボックス コントロールに単語を入力し、コマンド ボタンをクリックします。

Private Sub Command1_Click()

Dim FoundPos As Integer

Dim FoundLine As Integer

' 指定されたテキストをテキスト ボックス コントロールの中で検索します。

FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)

' テキストが見つかったかどうか、メッセージを表示します。

If FoundPos <> -1 Then

' 見つかったテキストを含む行の番号を返します。

FoundLine = RichTextBox1.GetLineFromChar(FoundPos)

MsgBox CStr(FoundLine) & "行目で見つかりました。"

Else

MsgBox "検索した単語は見つかりませんでした。"

End If

End Sub


GetLineFromChar メソッド

関連項目	例

リッチテキスト ボックス コントロールの中で、文字単位で指定した位置が何行目に含まれるかを返します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.GetLineFromChar(charpos)

GetLineFromChar メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

charpos	必ず指定します。目的の文字のインデックスを長整数で指定します。リッチテキスト ボックス コントロール内の先頭文字のインデックスは 0 です。

解説

GetLineFromChar メソッドを使用すると、文字の位置をテキストの先頭からの文字数で指定することにより、その位置がコントロールのテキストの何行めに含まれるのかを調べることができます。テキストに含まれる各行の文字数が異なるために、特定の文字をテキスト内の位置で識別できても、その文字を含む行を調べることが難しい場合があります。このような場合に、GetLineFromChar メソッドを使用します。


関連項目

リッチテキスト ボックス コントロール


GetLineFromChar メソッドの例

次のプログラムでは、テキスト ボックス (TextBox) コントロールに入力された単語を元に、リッチテキスト ボックス コントロール内の文字列を検索します。指定した文字列が見つかると、その文字列が何行目に含まれるかをメッセージ ボックスに表示します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびテキスト ボックス コントロールを配置します。リッチテキスト ボックス コントロールにファイルをロードし、コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。プログラムを実行し、テキスト ボックス コントロールに単語を入力し、コマンド ボタンをクリックします。

Private Sub Command1_Click()

Dim FoundPos As Integer

Dim FoundLine As Integer

' 指定されたテキストをテキスト ボックス コントロールの中で検索します。

FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)

' テキストが見つかったかどうか、メッセージを表示します。

If FoundPos <> -1 Then

' 見つかったテキストを含む行の番号を返します。

FoundLine = RichTextBox1.GetLineFromChar(FoundPos)

MsgBox CStr(FoundLine) & "行目で見つかりました。"

Else

MsgBox "検索した単語は見つかりませんでした。"

End If

End Sub


SelHangingIndent、SelIndent、SelRightIndent プロパティ

関連項目	例

現在の選択部分を含む、または現在のカーソル位置に追加される、リッチテキスト ボックス コントロール内の段落について、余白を設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelHangingIndent [= integer]

object.SelIndent [= integer]

object.SelRightIndent [= integer]

SelHangingIndent プロパティ、SelIndent プロパティ、および SelRightIndent プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

integer	インデントの長さを整数で指定します。このプロパティは、リッチテキスト ボックス コントロールを含む Form オブジェクトの座標系の単位を使用します。

解説

設定する段落に対して、SelIndent プロパティでは、リッチテキスト ボックス コントロールの左端と、選択または追加するテキストの左端との距離を指定します。同様に、SelRightIndent プロパティでは、リッチテキスト ボックス コントロールの右端と、選択または追加するテキストの右端との距離を指定します。

SelHangingIndent プロパティでは、選択した段落内のテキストの先頭行の左端と、2 行目以降の左端との距離を指定します。この場合、先頭行の左端と、リッチテキスト ボックス コントロールの左端との距離は、SelIndent プロパティで指定します。

これらのプロパティでは、複数の段落を選択し、それらの余白の設定が異なる場合、ゼロ (0) が返されます。


関連項目

リッチテキスト ボックス コントロール

SelAlignment プロパティ

SelBullet プロパティ

SelTabCount、SelTabs プロパティ


SelHangingIndent、SelIndent、SelRIghtIndent プロパティの例

次のプログラムでは、リッチテキスト ボックス コントロール内のテキストをすべて選択し、左右両方のインデントを設定して、余白を作成します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびテキスト ボックス (TextBox) コントロールを配置します。リッチテキスト ボックス コントロールにファイルをロードし、コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

Dim Margins As Integer

Margins = CInt(Text1.Text)

With RichTextBox1

.SelStart = 1

.SelLength = Len(RichTextBox1.Text)

.SelIndent = Margins

.SelRightIndent = Margins

End With

End Sub


LoadFile メソッド

関連項目	例

リッチテキスト ボックス コントロールに .RTF ファイルまたはテキスト ファイルをロードします。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.LoadFile pathname, filetype

LoadFile メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

pathname	必ず指定します。コントロールにロードするファイルのパスおよびファイル名を文字列式で指定します。

filetype	省略可能です。ロードするファイルの種類を整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

filetype の設定値は次のとおりです。

定数	値	内容

rtfRTF	0	(既定値) リッチ テキスト。ロードするファイルは有効な .RTF ファイルであることが必要です。

rtfText	1	テキスト。リッチテキスト ボックス コントロールは、任意のテキスト ファイルをロードします。

解説

LoadFile メソッドでファイルをロードすると、リッチテキスト ボックス コントロールの内容がすべて、ロードされたファイルの内容で置換されます。したがって、Text プロパティおよび RTFText プロパティの値は変更されます。

また、Visual Basic の Input 関数およびリッチテキスト ボックス コントロールの TextRTF プロパティと SelRTF プロパティを使用すると、.RTF ファイルを読み取ることができます。次のコードでは、リッチテキスト ボックス コントロールに .RTF ファイルの内容をロードします。

Open "mytext.rtf" For Input As 1

RichTextBox1.TextRTF = Input$(LOF(1), 1)


関連項目

FileName プロパティ

リッチテキスト ボックス コントロール

SaveFile メソッド

SelRTF プロパティ

サポートされる RTF コード

TextRTF プロパティ


LoadFile メソッドの例

次のプログラムでは、ダイアログ ボックスを表示して .RTF ファイルを選択し、そのファイルをリッチテキスト ボックス コントロールにロードします。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびコモン ダイアログ (CommonDialog) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

CommonDialog1.Filter = "Rich Text Format files|*.rtf"

CommonDialog1.ShowOpen

RichTextBox1.LoadFile CommonDialog1.Filename, rtfRTF

End Sub


BulletIndent プロパティ

関連項目

SelBullet が真 (True) に設定されている場合、リッチテキスト ボックス コントロールの中で使用されるインデントの長さを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.BulletIndent [= integer]

BulletIndent プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

integer	インデントの長さを整数で指定します。このプロパティは、リッチテキスト ボックス コントロールを含む Form オブジェクトの座標系の単位を使用します。

解説

BulletIndent プロパティでは、複数の段落を選択し、それらの余白の設定が異なる場合、Null が返されます。


関連項目

リッチテキスト ボックス コントロール

SelBullet プロパティ


SaveFile メソッド

関連項目	例

リッチテキスト ボックス コントロールの内容をファイルに保存します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SaveFile(pathname, filetype)

SaveFile メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

pathname	必ず指定します。コントロールの内容を受け取るファイルの、パスおよびファイル名を文字列式で指定します。

filetype	省略可能です。ロードするファイルのタイプを整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

filetype の設定値は次のとおりです。

定数	値	内容

rtfRTF	0	(既定値) リッチ テキスト。リッチテキスト ボックス コントロールは、その内容を .RTF ファイルとして保存します。

rtfText	1	テキスト。リッチテキスト ボックス コントロールは、その内容をテキスト ファイルとして保存します。

解説

Visual Basic の Write 関数、リッチテキスト ボックス コントロールの TextRTF プロパティおよび SelRTF プロパティを使用して、.RTF ファイルを書き込むこともできます。次のコードでは、リッチテキスト ボックス コントロールの反転表示されている内容を、.RTF ファイルに保存します。

Open "mytext.rtf" For Output As 1

Print #1, RichTextBox1.SelRTF


関連項目

LoadFile メソッド

リッチテキスト ボックス コントロール

SelRTF プロパティ

サポートされる RTF コード

TextRTF プロパティ


SaveFile メソッドの例

次のプログラムでは、ダイアログ ボックスを表示して、リッチテキスト ボックス コントロールの内容を保存する .RTF ファイルを選択します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびコモン ダイアログ (CommonDialog) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

CommonDialog1.ShowSave

RichTextBox1.SaveFile(CommonDialog1.Filename, rtfRTF)

End Sub


SelAlignment プロパティ

関連項目	例

リッチテキスト ボックス コントロール内の段落の配置を設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelAlignment [= value]

SelAlignment プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

value	段落の配置を整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

Null	特定できない場合。現在複数の段落が選択され、それらの配置の設定が異なります。

rtfLeft	0	(既定値) 左。段落は左の余白に沿って配置されます。

rtfRight	1	右。段落は右の余白に沿って配置されます。

rtfCenter	2	中央。段落は左右の余白の間で中央揃えされます。

解説

SelAlignment プロパティを使用すると、テキストを選択している場合は、選択したテキストに含まれるすべての段落に対して、またテキストを選択していない場合は、カーソル位置を含む段落に対して、段落の配置を指定することができます。

実行時にこのプロパティを読み取る場合、Null および 0 の値を区別するには、IsNull 関数を If...Then...Else ステートメントと共に使用します。この例を次に示します。

If IsNull(RichTextBox1.SelAlignment) = True Then

' 選択部分が混在しているときに実行するコード。

ElseIf RichTextBox1.SelAlignment = 0 Then

' 選択部分が左詰めのときに実行するコード。

...

End If


関連項目

リッチテキスト ボックス コントロール

SelHangingIndent、SelIndent、SelRightIndent プロパティ

SelBullet プロパティ

SelTabCount、SelTabs プロパティ


SelAlignment プロパティの例

次のプログラムでは、オプション ボタン (OptionButton) コントロールの配列を使用し、テキストを選択している場合に限り、リッチテキスト ボックス コントロール内で選択したテキストの段落の配置を変更します。配列内のコントロールのインデックスは、SelAlignment プロパティの設定に対応します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよび 3 つのオプション ボタン コントロールを配置します。3 つのオプション ボタン コントロールにはすべて同じ名前を指定し、その Index プロパティは 0、1、2 にそれぞれ設定します。オプション ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Option1_Click(Index As Integer)

If RichTextBox1.SelLength > 0 Then

RichTextBox1.SelAlignment = Index

End If

End Sub


SelBold、SelItalic、SelStrikethru、SelUnderline プロパティ

関連項目

リッチテキスト ボックス コントロールの中で現在選択されているテキストのフォントのスタイルを設定します。値の取得も可能です。フォントのスタイルには、太字、斜体、取り消し線、および下線の書式が含まれます。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelBold [= value]

object.SelItalic [= value]

object.SelStrikethru [= value]

object.SelUnderline [= value]

SelBold、SelItalic、SelStrikethru、および SelUnderline の各プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

value	フォントのスタイルをブール式または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

設定値	内容

Null	特定できない場合。選択部分またはカーソル位置に続く文字には、該当するフォントのスタイルが混在して含まれます。

True	選択部分内のすべての文字、またはカーソル位置に続く文字が、該当するフォントのスタイルを持ちます。

False	(既定値) 選択部分内の文字、またはカーソル位置に続く文字が、該当するフォントのスタイルを持ちません。

解説

これらのプロパティを使用すると、Font オブジェクトの Bold、Italic、Strikethru、および Underline の各プロパティと同じように動作させることができます。リッチテキスト ボックス コントロールは Font プロパティを持つため、コントロールの Font オブジェクトのプロパティをとおして、コントロール内のすべてのテキストにフォントのスタイルを適用する機能を持ちます。このプロパティを使用して、選択したテキスト、またはカーソル位置に入力された文字に、フォントのスタイルを適用します。

一般的には、アプリケーションのツールバーを作成し、これらのプロパティを個別に切り替えるボタンを作成することで、これらのプロパティにアクセスします。

実行時にこれらのプロパティを読み取る場合、Null および False の値を区別するには、IsNull 関数を If...Then...Else ステートメントと共に使用します。この例を次に示します。

If IsNull(RichTextBox1.SelBold) = True Then

' 選択部分が混在しているときに実行するコード。

ElseIf RichTextBox1.SelBold = False Then

' 選択部分が太字でないときに実行するコード。

...

End If


関連項目

リッチテキスト ボックス コントロール

SelCharOffset プロパティ

SelColor プロパティ

SelFontName プロパティ

SelFontSize プロパティ


SelChange イベント

関連項目	例

リッチテキスト ボックス コントロール内で現在選択されているテキストが変更された場合、またはカーソル位置が移動した場合に発生します。

構文

Private Sub object_SelChange([index As Integer])

SelChange イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

index	コントロール配列の中にある固有のコントロールを整数で指定します。

解説

SelChange イベントを使用すると、現在の選択部分についての情報を取得する各種プロパティ (SelBold など) をチェックできるため、たとえば、ツールバーのボタンの状態を更新できます。


関連項目

リッチテキスト ボックス コントロール


SelChange イベントの例

次のプログラムでは、現在の選択部分のサイズをチェックして、テキストの切り取りまたはクリップボードへのコピーを行うメニュー コマンドを使用できるかどうかを確認します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、および 3 つのメニュー (Menu) コントロールを配置して、切り取りおよびコピー用のコマンドを伴うメニューを作成します。リッチテキスト ボックス コントロールの SelChange イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub RichTextBox1_SelChange()

If RichTextBox1.SelLength > 0 Then

EditCutMenu.Enabled = True

EditCopyMenu.Enabled = True

Else

EditCutMenu.Enabled = False

EditCopyMenu.Enabled = False

End If

End Sub


SelCharOffset プロパティ

関連項目	例

リッチテキスト ボックス コントロール内のテキストが、ベース ライン上に (標準)、ベース ラインより上に (上付き文字)、またはベース ラインより下に (下付き文字) 表示されるかどうかを設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelCharOffset [= offset]

SelCharOffset プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

offset	現在選択中の文字またはカーソル位置に続く文字の、テキストのベース ラインからの距離を整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

offset の設定値は次のとおりです。

設定値	内容

Null	特定できない場合。選択部分は、異なる設定を持つ文字が混在しています。

0	(既定値) 標準。文字はすべて、標準のテキストのベース ライン上に表示されます。

正の整数	上付き文字。文字は、指定された twip 数だけベース ラインより上に表示されます。

負の整数	下付き文字。文字は、指定された twip 数だけベース ラインより下に表示されます。

解説

実行時にこれらのプロパティを読み取る場合、Null および 0 の値を区別するには、IsNull 関数を If...Then...Else ステートメントと共に使用します。この例を次に示します。

If IsNull(RichTextBox1.SelCharOffset) = True Then

' 選択部分が混在しているときに実行するコード。

ElseIf RichTextBox1.SelCharOffset = 0 Then

' 選択部分がすべてベース ライン上にあるときに実行するコード。

...

End If


関連項目

リッチテキスト ボックス コントロール

SelBold、SelItalic、SelStrikethru、SelUnderline プロパティ

SelColor プロパティ

SelFontName プロパティ

SelFontSize プロパティ


SelCharOffset プロパティの例

次のプログラムでは、スクロール バーを使用して、選択したテキストをベース ラインより上または下に移動します。上付きおよび下付きの距離の最大値および最小値は、リッチテキスト ボックス コントロール内のテキストのフォントのサイズによって設定されます。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよび垂直スクロール バー (VScrollBar) コントロールを配置します。垂直スクロール バー コントロールの Change イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub VScroll1_Change ()

VScroll1.Max = RichTextBox1.SelFontSize

VScroll1.Min = -(VScroll1.Max)

RichTextBox1.SelCharOffset = VScroll1.Value

End Sub


SelColor プロパティ

関連項目	例

リッチテキスト ボックス コントロール内のテキストの色を設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelColor [= color]

SelColor プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

color	色を値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

color の設定値は次のとおりです。

設定値	内容

Null	テキストには、異なる色の設定が混在しています。

RGB カラー	色は、コードの中で RGB 関数または QBColor 関数で指定されます。

System	色は、オブジェクト ブラウザ内の Visual Basic オブジェクト ライブラリの中で、システム カラーの定数で指定されます。テキストの色は、Windows のコントロール パネル内でユーザーが選択した指定定数に一致します。

解説

リッチテキスト ボックス コントロール内でテキストを選択していない場合、このプロパティを設定すると、カーソル位置に新しく入力するテキストの色が決定されます。


関連項目

リッチテキスト ボックス コントロール

SelBold、SelItalic、SelStrikethru、SelUnderline プロパティ

SelCharOffset プロパティ

SelFontName プロパティ

SelFontSize プロパティ


SelColor プロパティの例

次のプログラムでは、コモン ダイアログ (CommonDialog) コントロールから [色の設定] ダイアログ ボックスを表示して、リッチテキスト ボックス コントロール内で選択したテキストの色を指定します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびコモン ダイアログ コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

CommonDialog1.ShowColor

RichTextBox1.SelColor = CommonDialog1.Color

End Sub


SelFontName プロパティ

関連項目	例

リッチテキスト ボックス コントロールの中で、現在選択されているテキストを、またはカーソル位置の直後の文字を表示するのに使用するフォントを設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelFontName [= string]

SelFontName プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

string	システムにインストールされているフォントを文字列式で指定します。

解説

SelFontName プロパティでは、選択したテキストが異なるフォントを含む場合、Null が返されます。


関連項目

リッチテキスト ボックス コントロール

SelBold, SelItalic、SelStrikethru、SelUnderline プロパティ

SelCharOffset プロパティ

SelColor プロパティ

SelFontSize プロパティ


SelFontName プロパティの例

次のプログラムでは、コモン ダイアログ (CommonDialog) コントロールの [フォントの設定] ダイアログ ボックスを表示して、リッチテキスト ボックス コントロール内で選択したテキストのフォントの属性を指定します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびコモン ダイアログ コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click ()

CommonDialog1.Flags = cdlCFBoth

CommonDialog1.ShowFont

With RichTextBox1

.SelFontName = CommonDialog1.FontName

.SelFontSize = CommonDialog1.FontSize

.SelBold = CommonDialog1.FontBold

.SelItalic = CommonDialog1.FontItalic

.SelStrikethru = CommonDialog1.FontStrikethru

.SelUnderline = CommonDialog1.FontUnderline

End With

End Sub


SelFontSize プロパティ

関連項目	例

リッチテキスト ボックス コントロール内のテキストを表示するのに使用するフォントのサイズを設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelFontSize [= points]

SelFontSize プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

points	現在選択されているテキストのサイズまたはカーソル位置の直後の文字のサイズを、ポイントを単位とする整数で指定します。

解説

SelFontSize の最大値は 2160 ポイントです。

一般には、サイズおよびスタイルを設定する前に、SelFontName プロパティ変更する必要があります。しかし、TrueType フォントを 8 ポイント未満に設定した場合は、ポイントのサイズを SelFontSize プロパティで 3 に設定し、SelFontName プロパティを設定し、その後で SelFontSize プロパティで再びサイズを設定する必要があります。

注   使用できるフォントはシステム構成、ディスプレイ デバイス、およびプリンティング デバイスに依存するため、システムごとにそれぞれ異なります。

SelFontSize プロパティでは、選択したテキストに異なるフォントのサイズが含まれる場合、Null が返されます。


関連項目

リッチテキスト ボックス コントロール

SelBold、SelItalic、SelStrikethru、SelUnderline プロパティ

SelCharOffset プロパティ

SelColor プロパティ

SelFontName プロパティ


SelFontSize プロパティの例

次のプログラムでは、コモン ダイアログ (CommonDialog) コントロールから [フォントの設定] ダイアログ ボックスを表示して、リッチテキスト ボックス コントロール内で選択したテキストのフォントの属性を指定します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コマンド ボタン (CommandButton) コントロール、およびコモン ダイアログ コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click ()

CommonDialog1.Flags = Both

CommonDialog1.ShowFont

With RichTextBox1

.SelFontName = CommonDialog1.FontName

.SelFontSize = CommonDialog1.FontSize

.SelBold = CommonDialog1.FontBold

.SelItalic = CommonDialog1.FontItalic

.SelStrikethru = CommonDialog1.FontStrikethru

.SelUnderline = CommonDialog1.FontUnderline

End With

End Sub


SelBullet プロパティ

関連項目	例

現在の選択部分またはカーソル位置を含むリッチテキスト ボックス コントロール内の段落が、行頭文字のスタイルを持つかどうかを設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelBullet [= value]

SelBullet プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

value	段落の行頭文字のスタイルを整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

設定値	内容

Null	特定できない場合。選択部分は複数の段落に渡り、行頭文字のスタイルを持っている段落と持っていない段落が混在しています。

True	選択部分内の段落が行頭文字のスタイルを持ちます。

False	(既定値) 選択部分内の段落が行頭文字のスタイルを持ちません。

解説

リッチテキスト ボックス コントロール内の行頭文字の項目の一覧を作成するには、SelBullet プロパティを使用します。

実行時にこのプロパティを読み取る場合、Null および False の値を区別するには、IsNull 関数を If...Then...Else ステートメントと共に使用します。この例を次に示します。

If IsNull(RichTextBox1.SelBullet) = True Then

' 選択部分が混在しているときに実行するコード。

ElseIf RichTextBox1.SelBullet = False Then

' 選択部分が行頭文字のスタイルを持たないときに実行するコード。

...

End If


関連項目

リッチテキスト ボックス コントロール

SelAlignment プロパティ

SelHangingIndent、SelIndent、SelRightIndent プロパティ

SelTabCount、SelTabs プロパティ


SelBullet プロパティの例

次のプログラムでは、フォーム上のチェック ボックス (CheckBox) コントロールの状態を変更し、リッチテキスト ボックス コントロール内で選択したテキストの行頭文字の状態を表示します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよびチェック ボックス コントロールを配置します。リッチテキスト ボックス コントロールの SelChange イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub RichTextBox1_SelChange()

If IsNull(RichTextBox1.SelBullet) = True Then

Check1.Value = vbGrayed

ElseIf RichTextBox1.SelBullet = True Then

Check1.Value = vbChecked

ElseIf RichTextBox1.SelBullet = False Then

Check1.Value = vbUnchecked

End If

End Sub


SelPrint メソッド

関連項目	例

リッチテキスト ボックス コントロール内の書式化されたテキストをデバイスに送信して印刷します。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelPrint(hdc)

SelPrint メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

hdc	コントロールの内容を印刷するために使用するデバイスのデバイス コンテキストを指定します。

解説

SelPrint メソッドを使用すると、リッチテキスト ボックス コントロール内でテキストを選択している場合、選択したテキストだけが対象のデバイスに送信されます。テキストを選択していない場合は、リッチテキスト ボックス コントロールの内容全体が対象のデバイスに送信されます。

SelPrint メソッドでは、リッチテキスト ボックス コントロールからテキストが印刷されるわけではありません。書式化されたテキストのコピーが、テキストを印刷できるデバイスに送信されます。次のコードでは、テキストが Printer オブジェクトに送信されます。

RichTextBox1.SelPrint(Printer.hDC)

Printer オブジェクトの hDC プロパティを使用して、SelPrint メソッドのデバイス コンテキスト引数を指定していることに注意してください。

注   リッチテキスト ボックス コントロールからテキストの送信先として Printer オブジェクトを使用する場合、長さ 0 の文字列などを印刷することによって、Printer オブジェクトのデバイス コンテキストを最初に初期化する必要があります。


関連項目

リッチテキスト ボックス コントロール


SelPrint メソッドの例

次のプログラムでは、リッチテキスト ボックス コントロール内の書式化されたテキストを印刷します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロール、コモン ダイアログ (CommonDialog) コントロール、およびコマンド ボタン (CommandButton) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

CommonDialog1.Flags = cdlPDReturnDC + cdlPDNoPageNums

If RichTextBox1.SelLength = 0 Then

CommonDialog1.Flags = CommonDialog1.Flags + cdlPDAllPages

Else

CommonDialog1.Flags = CommonDialog1.Flags + cdlPDSelection

End If

CommonDialog1.ShowPrinter

RichTextBox1.SelPrint CommonDialog1.hDC

End Sub


SelTabCount、SelTabs プロパティ

関連項目	例

リッチテキスト ボックス コントロール内のテキストのタブ数およびタブ位置を設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelTabCount [= count]

object.SelTabs(index) [= location]

SelTabCount プロパティおよび SelTabs プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

count	選択した段落またはカーソルに続く段落内でのタブ位置の個数を整数で指定します。

index	特定のタブを整数で指定します。先頭のタブ位置のインデックスはゼロ (0) です。最終のタブ位置のインデックスは SelTabCount から 1 を引いた値です。

location	指定したタブの位置を整数で指定します。タブ位置を表すのに使用する単位は、Form オブジェクト、またはリッチテキスト ボックス コントロールを含む他のオブジェクトの座標系で決まります。

解説

リッチテキスト ボックス コントロールに入力しているときに Tab キーを押すと、既定ではTabIndex プロパティで指定されるタブ オーダーに従って、次のコントロールへフォーカスが移動します。テキストにタブを挿入するには、Ctrl + Tab キーを押します。しかし、ワード プロセッサを使用しているユーザーにとって、Ctrl + Tab キーという組み合わせは、適切ではありません。この場合、リッチテキスト ボックス コントロールがフォーカスを持つときに、Form オブジェクト上のすべてのコントロールの TabStop プロパティを、一時的に False に切り替えることで、Tab キーを使用してリッチテキスト ボックス コントロールにタブを挿入することができます。この例を次に示します。

Private Sub RichTextBox1_GotFocus()

' TabStop プロパティを持たないコントロールに対するエラーを無視します。

On Error Resume Next

' Tab キーを押したときのフォーカスの変更を無効にします。

For Each Control In Controls

Control.TabStop = False

Next Control

End Sub

リッチテキスト ボックス コントロールのフォーカスが失われた場合には、他のコントロールの TabStop プロパティがリセットされます。


関連項目

リッチテキスト ボックス コントロール

SelAlignment プロパティ

SelHangingIndent、SelIndent、SelRightIndent プロパティ

SelBullet プロパティ


SelTabCount、SelTabs プロパティの例

次のプログラムでは、リッチテキスト ボックス コントロール内のタブ数を合計で 5 に設定し、タブの位置を 5 の倍数に設定します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよびコマンド ボタン (CommandButton) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click()

With RichTextBox1

.SelTabCount = 5

For X = 0 To .SelTabCount - 1

.SelTabs(X) = 5 * X

Next X

End With

End Sub


SelRTF プロパティ

関連項目	例

リッチテキスト ボックス コントロールの現在の選択部分内のテキストをリッチ テキスト形式で設定します。値の取得も可能です。デザイン時には、使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelRTF [= string]

SelRTF プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

string	リッチ テキスト形式の文字列式を指定します。

解説

SelRTF プロパティを設定すると、リッチテキスト ボックス コントロール内で選択したテキストは、新しい文字列に置換されます。このプロパティは、コントロールの中でテキストが選択されていない場合、長さが 0 の文字列 ("") が返されます。

SelRTF プロパティを Print 関数を共に使用すると、.RTF ファイルを書き込むことができます。


関連項目

リッチテキスト ボックス コントロール

サポートされる RTF コード

TextRTF プロパティ


SelRTF プロパティの例

次のプログラムでは、リッチテキスト ボックス コントロールの反転表示されている内容を、.RTF ファイルに書き込みます。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよびコマンド ボタン (CommandButton) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click ()

Open "mytext.rtf" For Output As 1

Print #1, RichTextBox1.SelRTF

Close 1

End Sub


Span メソッド

関連項目	例

指定した文字のセットに基づいて、リッチテキスト ボックス コントロール内のテキストを選択します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Span characterset, forward, negate

Span メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

characterset	必ず指定します。検索する文字のセットを文字列式で指定します。negate の値に基づいて選択部分を拡張することもできます。

forward	省略可能です。カーソル位置の移動する方向をブール式で指定します。設定する値については、次の「設定値」を参照してください。

negate	省略可能です。characterset の文字を、選択対象の文字のセットとして定義するか、または選択対象の文字のセットから除外するかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

forward の設定値は次のとおりです。

設定値	内容

True	(既定値) 現在のカーソル位置または現在の選択部分の先頭から、テキストの末尾に向かってテキストを選択します。

False	現在のカーソル位置または現在の選択部分の先頭から、テキストの先頭に向かってテキストを選択します。

negate の設定値は次のとおりです。

設定値	内容

True	引数 characterset で指定されている文字を検出するまで選択範囲を拡張します。選択された文字は、引数 characterset で指定されていない文字です。

False	(既定値) 引数 characterset で指定されていない文字を検出するまで選択範囲を拡張します。選択された文字は、引数 characterset で指定された文字です。

解説

Span メソッドを使用すると、リッチテキスト ボックス コントロール内の文または単語を簡単に選択することができます。

Span メソッドで、引数の値に基づいて指定した文字を検出できない場合、現在のカーソル位置または選択部分は変更されません。

Span メソッドは値を返しません。


関連項目

リッチテキスト ボックス コントロール

UpTo メソッド


Span メソッドの例

次のプログラムでは、リッチテキスト ボックス コントロール内のテキストを、文の末尾まで (Ctrl + S)、または単語の末尾まで (Ctrl + W) 選択するショートカット キーを定義します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールを配置します。リッチテキスト ボックス コントロールの KeyUp イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub RichTextBox1_KeyUp (KeyCode As Integer, Shift As Integer)

If Shift = vbCtrlMask Then

Select Case KeyCode

' Ctrl+S キーの場合。

Case vbKeyS

' 文の末尾まで選択します。

RichTextBox1.Span ".?!:", True, True

' 選択部分を拡張して区切り記号を含めます。

RichTextBox1.SelLength = RichTextBox1.SelLength + 1

' Ctrl+W キーの場合。

Case vbKeyW

' 単語の末尾まで選択します。

RichTextBox1.Span " ,;:.?!", True, True

End Select

End If

End Sub


TextRTF プロパティ

関連項目	例

すべての .RTF コードを含めて、リッチテキスト ボックス コントロールのテキストを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.TextRTF [= string]

TextRTF プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

string	リッチ テキスト形式の文字列式を指定します。

解説

TextRTF プロパティを設定すると、リッチテキスト ボックス コントロールの内容全体が、新しい文字列で置換されます。

TextRTF プロパティを Print 関数を共に使用すると、.RTF ファイルを書き込むことができます。作成されたファイルは、リッチ テキスト形式のファイルを読み取ることができる他のワード プロセッサを使用して、読み取ることができます。


関連項目

リッチテキスト ボックス コントロール

SaveFile メソッド

SelRTF プロパティ

サポートされる RTF コード


TextRTF プロパティの例

次のプログラムでは、リッチテキスト ボックス コントロールの内容全体を、.RTF ファイルに保存します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールおよびコマンド ボタン (CommandButton) コントロールを配置します。コマンド ボタン コントロールの Click イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub Command1_Click ()

Open "mytext.rtf" For Output As 1

Print #1, RichTextBox1.TextRTF

Close 1

End Sub


Upto メソッド

関連項目	例

カーソル位置を、リッチテキスト ボックス コントロール内で指定した文字セットの先頭文字まで、移動します。ただし、この先頭文字は含みません。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Upto(characterset, forward, negate)

Upto メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

characterset	必ず指定します。検索する文字のセットを文字列式で指定します。negate の値に基づいて選択部分を拡張することもできます。

forward	省略可能です。カーソル位置の移動する方向をブール式で指定します。設定する値については、次の「設定値」を参照してください。

negate	省略可能です。characterset の文字を、移動対象の文字のセットとして定義するか、または移動対象の文字のセットから除外するかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

forward の設定値は次のとおりです。

設定値	内容

True	(既定値) カーソル位置を、テキストの末尾に向かって移動します。

False	カーソル位置を、テキストの先頭に向かって移動します。

negate の設定値は次のとおりです。

設定値	内容

True	引数 characterset で指定されていない文字を検出するまでカーソル位置を移動します。

False	(既定値) 引数 characterset で指定される文字を検出するまでカーソル位置を移動します。


関連項目

リッチテキスト ボックス コントロール

Span メソッド


Upto メソッドの例

次のプログラムでは、リッチテキスト ボックス コントロール内のカーソル位置を、文の末尾まで (Alt + S)、または単語の末尾まで (Alt + W) 移動するショートカット キーを定義します。このプログラムを実行するには、フォーム上にリッチテキスト ボックス コントロールを配置します。リッチテキスト ボックス コントロールの KeyUp イベントに下のコードを貼り付けます。続けてプログラムを実行します。

Private Sub RichTextBox1_KeyUp (KeyCode As Integer, Shift As Integer)

If Shift = vbAltMask Then

Select Case KeyCode

' Alt+S キーの場合。

Case vbKeyS

' カーソル位置を文の末尾まで移動します。

RichTextBox1.Upto ".?!:", True, False

' Alt+W の場合。

Case vbkeyW

' カーソル位置を単語の末尾まで移動します。

RichTextBox1.Upto " .?!:", True, False

End Select

End If

End Sub


リッチテキスト ボックス コントロールの定数

関連項目

Appearance プロパティ

定数	値	内容

rtfFlat	0	視覚的な効果をつけないで描画します。

rtfThreeD	1	(既定値) 立体的に描画します。

Find メソッド

定数	値	内容

rtfWholeWord	2	指定した文字列に、完全に一致する単語だけを検索するか、部分的に含まれる単語を検索するかを指定します。

rtfMatchCase	4	大文字と小文字を区別して単語を検索するかどうかを指定します。

rtfNoHighlight	8	一致した単語を、リッチテキスト ボックス コントロールの中で反転表示するかどうかを指定します。

LoadFile、SaveFile メソッド

定数	値	内容

rtfRTF	0	(既定値) リッチ テキスト。LoadFile メソッドの場合、ロードするファイルは有効な .RTF ファイルであることが必要です。SaveFile メソッドの場合、コントロールの内容が .RTF ファイルに保存されます。

rtfText	1	テキスト。LoadFile メソッドの場合、リッチテキスト ボックス コントロールは任意のテキスト ファイルをロードします。SaveFile メソッドの場合、コントロールの内容がテキスト ファイルに保存されます。

MousePointer プロパティ

定数	値	内容

rtfDefault	0	(既定値) オブジェクトによって決まる形状。

rtfArrow	1	矢印。

rtfCross	2	クロス (十字カーソル)。

rtfIbeam	3	I ビーム。

rtfIcon	4	アイコン (四角形内の小四角形)。

rtfSize	5	サイズ 上下左右 (東西南北を示している四方向の矢印)。

rtfSizeNESW	6	サイズ 右上 - 左下 (北東および南西を示している二方向の矢印)。

rtfSizeNS	7	サイズ 上下 (南北を示している二方向の矢印)。

rtfSizeNWSE	8	サイズ 左上 - 右下。

rtfSizeEW	9	サイズ 左右 (東西を示している二方向の矢印)。

rtfUpArrow	10	上矢印。

rtfHourglass	11	砂時計 (待機)。

rtfNoDrop	12	禁止。

rtfArrowHourglass	13	矢印と砂時計。(32 ビット版の Visual Basic Version 4.0 に限って使用できます。)

rtfArrowQuestion	14	矢印とクエスチョン マーク。(32 ビット版の Visual Basic Version 4.0 に限って使用できます。)

rtfSizeAll	15	SizeAll。(32 ビット版の Visual Basic Version 4.0 に限って使用できます。)

rtfCustom	99	ユーザー定義。MouseIcon プロパティで指定されたユーザー定義のアイコン。

SelAlignment プロパティ

定数	値	内容

rtfLeft	0	(既定値) 左揃え。段落は左の余白に沿って配置されます。

rtfRight	1	右揃え。段落は右の余白に沿って配置されます。

rtfCenter	2	中央揃え。段落は左右の余白の間で中央揃えされます。

ScrollBars プロパティ

定数	値	内容

rtfNone	0	(既定値) なし。

rtfHorizontal	1	水平スクロール バーのみ。

rtfVertical	2	垂直スクロール バーのみ。

rtfBoth	3	水平および垂直の両方のスクロール バー。


関連項目

Appearance プロパティ

Find メソッド

LoadFile メソッド

MousePointer プロパティ

リッチテキスト ボックス コントロール

SaveFile メソッド

SelAlignment プロパティ

ScrollBars プロパティ

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


サポートされる RTF コード

関連項目

リッチテキスト ボックス コントロールは、次の RTF (リッチ テキスト形式) コードを認識します。ほかの RTF コードはすべて、テキストをロードするときにコントロールによって無視されます。

RTF コード	内容	RTF コード	内容
-	OptionalHyphen	objcropl	CropLeft
\n	EndParagraph	objcropr	CropRight
\r	EndParagraph	objcropt	CropTop
_	NonBreakingHyphen	objdata	ObjectData
|	FormulaCharacter	object	Object
~	NonBreakingSpace	objemb	ObjectEmbedded
ansi	CharSetAnsi	objh	Height
b	Bold	objicemb	ObjectMacICEmbedder
bin	BinaryData	objlink	ObjectLink
blue	ColorBlue	objname	ObjectName
bullet	ANSI コード 149	objpub	ObjectMacPublisher
cb	ColorBackground	objscalex	ScaleX
cell	Cell	objscaley	ScaleY
cf	ColorForeground	objsetsize	ObjectSetSize
colortbl	ColorTable	objsub	ObjectMacSubscriber
cpg	CodePage	objw	Width
deff	DefaultFont	par	EndParagraph
deflang	DefaultLanguage	pard	ParagraphDefault
deftab	DefaultTabWidth	pc	CharSetPc
deleted	Deleted	pca	CharSetPs2
dibitmap	PictureWindowsDIB	piccropb	CropBottom
dn	Down	piccropl	CropLeft
dy	TimeDay	piccropr	CropRight
emdash	ANSI コード 151	piccropt	CropTop
endash	ANSI コード 150	pich	Height
f	FontSelect	pichgoal	DesiredHeight
fbidi	FontFamilyBidi	picscalex	ScaleX
fchars	FollowingPunct	picscaley	ScaleY
fcharset	CharSet	pict	Picture
fdecor	FontFamilyDecorative	picw	Width
fi	IndentFirst	picwgoal	DesiredWidth
field	Field	plain	CharacterDefault
fldinst	FieldInstruction	pmmetafile	PictureOS2Metafile
fldrslt	FieldResult	pn	ParaNum
fmodern	FontFamilyModern	pnindent	ParaNumIndent
fname	RealFontName	pnlvlblt	ParaNumBullet
fnil	FontFamilyDefault	pntext	ParaNumText
fontemb	FontEmbedded	pntxta	ParaNumAfter
fontfile	FontFile	pntxtb	ParaNumBefore
fonttbl	FontTable	protect	Protect
footer	未対応 (Footer)	qc	AlignCenter
footerf	未対応 (Footer, first)	ql	AlignLeft
footerl	未対応 (Footer, left)	qr	AlignRight
footerr	未対応 (Footer, right)	rdblquote	ANSI コード 34
footnote	未対応 (footnote)	red	ColorRed
fprq	Pitch	result	ObjectResult
froman	FontFamilyRoman	revauth	RevAuthor
fs	FontSize	revised	Revision
fscript	FontFamilyScript	ri	IndentRight
fswiss	FontFamilySwiss	row	Row
ftech	FontFamilyTechnical	rquote	ANSI コード 39
ftncn	未対応 (Footnote cont.)	rtf	Rtf
ftnsep	未対応 (Footnote separ)	rtlch	RightToLeftChars
ftnsepc	未対応 (Footnote cont. separ)	rtldoc	RightToLeftDocument
green	ColorGreen	rtlmark	DisplayRightToLeft
header	未対応 (Header)	rtlpar	RightToLeftParagraph
headerf	未対応 (Header, first)	sec	TimeSecond
headerl	未対応 (Header, left)	sect	EndSection
headerr	未対応 (Header, right)	sectd	SectionDefault
horzdoc	HorizontalRender	strike	StrikeOut
hr	TimeHour	stylesheet	StyleSheet
i	Italic	sub	Subscript
info	DocumentArea (Info fields)	super	Superscript
intbl	InTable	tb	TabPosition
lang	Language	tc	未対応 (Table of contents)
lchars	LeadingPunct	tx	TabPosition
ldblquote	ANSI コード 34	ul	Underline
li	IndentLeft	uld	UnderlineDotted
line	SoftBreak	uldash	UnderlineDash
lquote	ANSI コード 39	uldashd	UnderlineDashDotted
ltrch	LeftToRightChars	uldashdd	UnderlineDashDotDotted
ltrdoc	LeftToRightDocument	uldb	UnderlineDouble
ltrmark	DisplayLeftToRight	ulhair	UnderlineHairline
ltrpar	LeftToRightParagraph	ulnone	StopUnderline
mac	CharSetMacintosh	ulth	UnderlineThick
macpict	PictureQuickDraw	ulw	UnderlineWord
margl	MarginLeft	ulwave	UnderlineWave
marglsxn	SectionMarginLeft	up	Up
margr	MarginRight	v	HiddenText
margrsxn	SectionMarginRight	vertdoc	VerticalRender
min	TimeMinute	wbitmap	PictureWindowsBitmap
mo	TimeMonth	wbmbitspixel	BitmapBitsPerPixel
nocwrap	NoWordBreak	wbmplanes	BitmapNumPlanes
nooverflow	NoOverflow	wbmwidthbytes	BitmapWidthBytes
nosupersub	NoSuperSub	wmetafile	PictureWindowsMetafile
nowwrap	NoWordWrap	xe	未対応 (index entry)
objautlink	ObjectAutoLink	yr	TimeYear
objclass	ObjectClass	zwj	ZeroWidthJoiner
objcropb	CropBottom	zwnj	ZeroWidthNonJoiner


関連項目

FileName プロパティ

LoadFile メソッド

リッチテキスト ボックス コントロール

SaveFile メソッド

SelRTF プロパティ

TextRTF プロパティ


RightMargin プロパティ (リッチテキスト ボックス コントロール)

リッチテキスト ボックス コントロール内の文字列の右余白を設定します。値の取得も可能です。

構文

object.RightMargin [= value]

RightMargin プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リッチテキスト ボックス コントロールへの参照を表すオブジェクト式を指定します。

value	テキストの右端からコントロールの右端までの余白を twip を単位とする整数で指定します。

解説

RightMargin プロパティを設定することで、ワードラップも変更されます。


 スライダ コントロール

プロパティ	メソッド	イベント	定数

スライダ コントロールは、つまみおよびオプションの目盛りで構成されるウィンドウです。つまみは、ドラッグしたり、つまみのいずれかの側をマウスでクリックしたり、またはキーボードを使用して移動することができます。

構文

Slider

解説

スライダ コントロールは、範囲の中で不連続な値または連続する値の範囲を選択するときに効果的です。たとえば、スライダ コントロールを使用すると、値をキーボードから入力するのではなく、つまみを移動することによって、表示されているイメージのサイズを設定することができます。値の範囲を選択するには、SelectRange プロパティを真 (True) に設定し、Shift キーが押されたときに範囲を選択するようにコントロールをプログラムします。

スライダ コントロールは、水平方向にも垂直方向にも設定できます。

配布時の注意   スライダ コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降に限って実行できます。また、スライダ コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションの中でスライダ コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布するときは、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCT32.OCX ファイルをインストールします。カスタム コントロールのプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


スライダ コントロールのプロパティ

BorderStyle プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Height プロパティ

HelpContextID プロパティ

hWnd プロパティ

Index プロパティ

LargeChange プロパティ

Left プロパティ

Max プロパティ

Min プロパティ

MouseIcon プロパティ

MousePointer プロパティ

Name プロパティ

Orientation プロパティ

Parent プロパティ

SelectRange プロパティ

SelLength プロパティ

SelStart プロパティ

SmallChange プロパティ

TabIndex プロパティ

TabStop プロパティ

Tag プロパティ

TickFrequency プロパティ

TickStyle プロパティ

Top プロパティ

Value プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


スライダ コントロールのメソッド

ClearSel メソッド

Drag メソッド

GetNumTicks メソッド

Move メソッド

Refresh メソッド

SetFocus メソッド

ShowWhatsThis メソッド

ZOrder メソッド


スライダ コントロールのイベント

Change イベント

Click イベント

DragDrop イベント

DragOver イベント

GotFocus イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント

Scroll イベント


LargeChange、SmallChange プロパティ (スライダ コントロール)

関連項目	例

LargeChange プロパティ
PageUp キーまたは PageDown キーが押されたとき、あるいはつまみのいづれかの側でマウスがクリックされたときにつまみが移動する量を、目盛りの数で設定します。値の取得も可能です。

SmallChange プロパティ
←キーまたは→キーが押されたときにつまみが移動する量を、目盛りの数で設定します。値の取得も可能です。

構文

object.LargeChange = number

object.SmallChange = number

LargeChange および SmallChange プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

number	つまみが移動する目盛りの数を表す長整数を指定します。

解説

LargeChange プロパティの既定値は 5 です。SmallChange プロパティの既定値は 1 です。


関連項目

Max、Min プロパティ

Value プロパティ

スライダ コントロール


LargeChange、SmallChange プロパティの例

次のプログラムでは、テキスト ボックス (TextBox) コントロールの幅をスライダ コントロールの幅に一致させます。スライダ コントロールの Value プロパティがある値を越えている場合、テキスト ボックス コントロールの幅はスライダ コントロールの値に一致します。SmallChange プロパティおよび LargeChange プロパティは、スライダ コントロールの Max プロパティの値に依存します。このプログラムを実行するには、スライダ コントロールおよび テキスト ボックス コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、PageUp キー、PageDownキー、←キー、および→キーを押します。

Sub Form_Load()

Text1.Width = 4500 ' テキスト ボックス コントロールの最小幅を設定します。

Slider1.Left = Text1.Left ' スライダ コントロールの端をテキスト ボックス コントロールに揃えます。

' スライダ コントロールの幅をテキスト ボックス コントロールに一致させます。

Slider1.Max = Text1.Width

' スライダ コントロールをテキスト ボックス コントロールの少し下に設定します。

Slider1.Top = Text1.Top + 600

' TickFrequency を、Max を基準に設定します。

Slider1.TickFrequency = Slider1.Max * 0.1

' LargeChange および SmallChange を、Max を基準に設定します。

Slider1.LargeChange = Slider1.Max * 0.1

Slider1.SmallChange = Slider1.Max * 0.01

End Sub

Private Sub Slider1_Change()

' スライダ コントロールの大きさがテキスト ボックス コントロールの 1/3 以下の場合、変更はありません。

' それ以外の場合は、テキスト ボックス コントロールの幅がスライダ コントロールの値に一致します。

If Slider1.Value > Slider1.Max / 3 Then

Text1.Width = Slider1.Value

End If

End Sub


Orientation プロパティ (スライダ コントロール)

関連項目	例

スライダ コントロールの向きを水平方向または垂直方向のいずれかに設定します。

構文

object.Orientation = number

Orientation プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

number	向きを表す定数または数値を指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sldHorizontal	0	(既定値) 水平方向。つまみは水平方向に移動します。目盛りは上部、下部、または両方に設定できます。

sldVertical	1	垂直方向。つまみは垂直方向に移動します。目盛りは左、右、または両方に設定できます。


関連項目

Max、Min プロパティ

スライダ コントロール

スライダ コントロール定数


Orientation プロパティの例 (スライダ コントロール)

次のプログラムでは、フォーム上のスライダ コントロールの向きを切り替えます。このプログラムを実行するには、フォーム上にスライダ コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、フォームをクリックすると、スライダ コントロールの向きが切り替わります。

Private Sub Form_Click()

If Slider1.Orientation = 0 Then

Slider1.Orientation = 1

Else

Slider1.Orientation = 0

End If

End Sub


Scroll イベント (スライダ コントロール)

関連項目

スライダ コントロール上のつまみが、コントロール上でクリック、またはキーボードの操作によって移動したときに発生します。

構文

Private Sub object_Scroll( )

引数 object には、スライダ コントロールへの参照を表すオブジェクト式を指定します。

解説

Scroll イベントは、Click イベントの前に発生します。

Scroll イベントは、つまみの移動に伴い、Value プロパティの値を連続して変更します。このイベントを使用すると、スライダ コントロールの変化に対応することが必要なコントロールを操作することができます。スライダ コントロールの Value プロパティが変更された後で、一度だけ更新を行うには、Change イベントを使用します。

注意   このイベント内で、MsgBox ステートメントまたは MsgBox 関数を使用しないでください。


関連項目

LargeChange、SmallChange プロパティ

Value プロパティ

スライダ コントロール


SelectRange プロパティ

関連項目	例

範囲を選択できるかどうかを設定します。値の取得も可能です。

構文

object.SelectRange = boolean

SelectRange プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

boolean	スライダ コントロールが選択範囲を持つことができるかどうかを表すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	範囲を選択できるようにします。

False	範囲は選択できません。

解説

SelectRange プロパティが偽 (False) にすると、SelStart プロパティの設定値は Value プロパティの設定値と同じになります。SelStart プロパティを設定すると、Value プロパティも変更されます。逆の場合も同様です。この変更は、コントロール上のつまみの位置に反映します。SelectRange プロパティが偽の場合に SelLength は無視されます


関連項目

ClearSel メソッド

SelLength、SelStart プロパティ

スライダ コントロール

Value プロパティ


SelectRange プロパティの例

次のプログラムでは、Shift キーが押されているときに、ユーザーは範囲を選択できます。このプログラムを実行するには、スライダ コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、Shift キーを押しながら、スライダ コントロール上でマウスをドラッグまたはクリックすることによって、範囲を選択します。

Private Sub Form_Load()

' スライダ コントロールの設定値を設定します。

Slider1.Max = 20

End Sub

Private Sub Slider1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

If Shift = 1 Then 	' Shift キーが押されたら、

Slider1.SelectRange = True 	' SelectRange をオンにします。

Slider1.SelStart = Slider1.Value  ' SelStart を設定します。

Slider1.SelLength = 0 ' SelLength を初期化します。

Else

Exit Sub

End If

End Sub

Private Sub Slider1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

If Shift = 1 Then

' ユーザーが、ある位置から後ろ方向に選択すると、エラーが発生します。

On Error Resume Next

' それ以外の場合は、SelStart と現在の値を使用して SelLength を設定します。

Slider1.SelLength = Slider1.Value - Slider1.SelStart

Else

Slider1.SelectRange = False ' ユーザーが SHIFT キーを上げた場合。

Exit Sub

End If

End Sub


SelLength、SelStart プロパティ (スライダ コントロール)

関連項目	例

SelLength プロパティ
選択範囲の長さを設定します。値の取得も可能です。

SelStart プロパティ
選択範囲の先頭を設定します。値の取得も可能です。

構文

object.SelLength [= value]

object.SelStart [= value]

SelLength および SelStart プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

value	Min プロパティおよび Max プロパティの間の値を指定します。

解説

SelLength プロパティおよび SelStart プロパティを一緒に使用して、スライダ コントロール上の連続値の範囲を選択します。スライダ コントロールは、使用できる値の範囲を視覚的に表示することができます。

SelLength プロパティに、0 未満の値を指定することはできません。また、SelLength および SelStart の合計値が Max プロパティを越えることもできません。


関連項目

ClearSel メソッド

SelectRange プロパティ

スライダ コントロール


SelLength、SelStart プロパティの例

次のプログラムでは、スライダ コントロール上の範囲を選択します。このプログラムを実行するには、スライダ コントロールと、 Text1、Text2、およびText3 という 3 つのテキスト ボックス (TextBox) コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。スライダ コントロールの SelectRange プロパティは、真 (True) に設定されていることが必要です。プログラムを実行し、Shift キーを押しながらつまみ上の範囲を選択すると、各種の値がテキスト ボックスに表示されます。

Private Sub Form_Load()

' 範囲の選択ができるように、SelectRange を True にします。

Slider1.SelectRange = True

End Sub

Private Sub Slider1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

If Shift = 1 Then ' SHIFT キーが押されると、範囲選択の開始です。

Slider1.ClearSel	' これまでの選択をすべて消去します。

Slider1.SelStart = Slider1.Value

Text2.Text = Slider1.SelStart   ' 範囲の先頭を、

' テキスト ボックスに表示します。

Else

Slider1.ClearSel	' これまでの選択をすべて消去します。

End If

End Sub

Private Sub Slider1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

' SHIFT キーが押され、SelectRange が True の場合、

' このイベントが発生します。

If Shift = 1 And Slider1.SelectRange = True Then

' 現在の値が SelStart 以上であることを確認します。SelStart より小さいと

' エラーが発生します。 SelLength に負の値は設定できません。

If Slider1.Value >= Slider1.SelStart Then

Slider1.SelLength = Slider1.Value - Slider1.SelStart

Text1.Text = Slider1.Value  ' 範囲の終端を表示します。

' Text3 は、最終値および先頭値の差です。

Text3.Text = Slider1.SelLength

End If

End If

End Sub


TickFrequency プロパティ

関連項目	例

スライダ コントロールの目盛りの増分を設定します。値の取得も可能です。たとえば、TickFrequency プロパティが 2 に設定されている場合、コントロールの値が 2 増えるごとに目盛りが表示されます。

構文

object.TickFrequency [= number]

TickFrequency プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

number	目盛りの増分を指定する数値式を指定します。


関連項目

GetNumTicks メソッド

Max、Min プロパティ

スライダ コントロール


TickFreqency プロパティの例

次のプログラムでは、テキスト ボックス (TextBox) コントロールの幅をスライダ コントロールの幅に一致させます。スライダ コントロールの Value プロパティがある値を越えている場合、テキスト ボックス コントロールの幅はスライダ コントロールの値に一致します。TickFrequency プロパティは、スライダ コントロールの Max プロパティの値に依存します。このプログラムを実行するには、スライダ コントロールおよびテキスト ボックス コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、つまみを何度もクリックします。

Sub Form_Load()

Text1.Width = 4500 ' テキスト ボックス コントロールの最小幅を設定します。

Slider1.Left = Text1.Left ' スライダ コントロールの端をテキスト ボックス コントロールに揃えます。

' スライダ コントロールの幅をテキスト ボックス コントロールに一致させます。

Slider1.Max = Text1.Width

' スライダ コントロールをテキスト ボックス コントロールの少し下に設定します。

Slider1.Top = Text1.Top + 600

' TickFrequency を、Max を基準に設定します。

Slider1.TickFrequency = Slider1.Max * 0.1

' LargeChange および SmallChange を、Max を基準に設定します。

Slider1.LargeChange = Slider1.Max * 0.1

Slider1.SmallChange = Slider1.Max * 0.01

End Sub

Private Sub Slider1_Change()

' スライダ コントロールの大きさがテキスト ボックス コントロールの 1/3 以下の場合、変更はありません。

' それ以外の場合は、テキスト ボックス コントロールの幅がスライダ コントロールの値に一致します。

If Slider1.Value > Slider1.Max / 3 Then

Text1.Width = Slider1.Value

End If

End Sub


TickStyle プロパティ

関連項目	例

スライダ コントロール上に表示される目盛りのスタイル (または位置) を設定します。値の取得も可能です。

構文

object.TickStyle [= number]

TickStyle プロパティ構文の引数は次のとおりです。

引数	内容

object	スライダ コントロールへの参照を表すオブジェクト式を指定します。

number	スタイルを表す定数または整数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sldBottomRight	0	(既定値) 下側または右側。コントロールの向きが水平の場合、下側に、コントロールの向きが垂直の場合は右側に目盛りが設定されます。

sldTopLeft	1	上側または左側。コントロールの向きが水平の場合、上側に、コントロールの向きが垂直の場合は左側に目盛りが設定されます。

sldBoth	2	両側。左右、または上下に目盛りが設定されます。

sldNoTicks	3	なし。コントロールに目盛りは表示されません。


関連項目

GetNumTicks メソッド

Max, Min プロパティ

スライダ コントロール

スライダ コントロール定数


TickStyle プロパティの例

次のプログラムでは、使用できる各種の目盛りのスタイルを、ドロップダウン リストに表示します。このプログラムを実行するには、スライダ コントロールおよびコンボ ボックス (ComboBox) コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、コンボ ボックス コントロール上でクリックして、TickStyle プロパティの値を変更します。

Sub Form_Load()

With Combo1

.AddItem "Bottom/Right"

.AddItem "Top/Left"

.AddItem "Both"

.AddItem "None"

.ListIndex = 0

End With

End Sub

Private Sub Combo1_Click()

Slider1.TickStyle = Combo1.ListIndex

End Sub


ClearSel メソッド

関連項目

スライダ コントロールの現在の範囲を選択解除します。

構文

object.ClearSel

引数 object には、スライダ コントロールへの参照を表すオブジェクト式を指定します。

解説

このメソッドは、SelStart プロパティを Value プロパティの値に設定し、SelLength プロパティを 0 に設定します。


関連項目

SelectRange プロパティ

SelLength、SelStart プロパティ (スライダ コントロール)

スライダ コントロール

Value プロパティ


GetNumTicks メソッド

関連項目	例

スライダ コントロールの Min プロパティと Max プロパティの間の目盛りの個数を返します。

構文

object.GetNumTicks

引数 object には、スライダ コントロールへの参照を表すオブジェクト式を指定します。

解説

目盛りの個数を変更するには、Min プロパティ、Max プロパティ、または TickFrequency プロパティを再設定します。


関連項目

Max、Min プロパティ

TickFrequency プロパティ

スライダ コントロール


GetNumTicks メソッドの例

次のプログラムでは、スライダ コントロール上の目盛りの現在の個数を表示し、Max プロパティを 10 だけ増加します。このプログラムを実行するには、スライダ コントロールをフォーム上に配置し、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。プログラムを実行し、スライダ コントロールをクリックすると、目盛りの個数が表示されます。コントロール上でクリックするたびに、目盛りが増加します。

Sub Slider1_Click()

MsgBox Slider1.GetNumTicks

Slider1.Max = Slider1.Max + 10

End Sub


スライダ コントロールの定数

関連項目

Orientation 定数

定数	値	内容

sldHorizontal	0	水平方向。

sldVertical	1	垂直方向。

TickStyle 定数

定数	値	内容

sldBottomRight	0	下側または右側。コントロールの向きが水平の場合、下側に、コントロールの向きが垂直の場合は右側に目盛りが設定されます。

sldTopLeft	1	上側または左側。コントロールの向きが水平の場合、上側に、コントロールの向きが垂直の場合は左側に目盛りが設定されます。

sldBoth	2	両側。左右、または上下に目盛りが設定されます。

sldNoTicks	3	なし。コントロールに目盛りは表示されません。


関連項目

TickStyle プロパティ

Orientation プロパティ

スライダ コントロール

Visual Basic カスタム コントロール定数

Windows 95 コントロール定数


 タブ ダイアログ コントロール

関連項目	プロパティ	メソッド	イベント	定数

タブ ダイアログ コントロールは、多くの Microsoft Windows アプリケーションに見られるインターフェイスと同様に、1 つのフォーム上に複数のダイアログまたは情報を表示する簡単な方法を提供します。

次の図は、タブを使用したダイアログ ボックスの一例です。(Windows 95 に付属するワード パッド アプリケーション。)

構文

SSTab

解説

タブ ダイアログ コントロールが提供するタブ グループのタブはそれぞれ、他のコントロールのコンテナとして機能します。このコントロールでは一度に 1 つのタブのみアクティブになります。したがって、アクティブなタブに含まれるコントロールが表示されて、他のタブに含まれるコントロールは表示されません。このコントロールのプロパティを使用すると、次の操作を実行できます。

タブ数を設定します。

タブを複数の行で構成します。

各タブに文字列を設定します。

各タブ上でグラフィックスを表示します。

タブのスタイルを設定します。

各タブのサイズを設定します。

このコントロールを使用するには、まず、各種タブを配置するコントロールの構成を、あらかじめ決定する必要があります。Tabs プロパティおよび TabsPerRow プロパティを使用して、タブを作成し、タブの上部が 1 行になるように構成します。次に、タブを選択するには、タブの上部をクリックします。各タブでは、ユーザーがそのタブを選択したときに表示するコントロールを配置します。必要に応じて、Caption、Picture、TabHeight、および TabMaxWidth プロパティを設定して、タブの上部の設定を変更します。

実行時には、Ctrl+Tab キーを押すことによって、または各タブのキャプションで定義されているアクセス キーを入力することによって、ユーザーはタブ間を移動できます。

また、Style、ShowFocusRect、TabOrientation、および WordWrap プロパティを使用すると、タブ ダイアログ コントロール全体のスタイルを変更することができます。

配布時の注意   タブ ダイアログ コントロールは、TABCTL32.OCX ファイル (32 バージョン) または TABCTL16.OCX ファイル (16 バージョン) カスタム コントロール グループに含まれています。アプリケーションの中で タブ ダイアログ コントロールを使用するには、適切な OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布するときは、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに適切な OCX ファイルをインストールします。カスタム コントロールのプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


関連項目

タブ ストリップ コントロール


タブ ダイアログ コントロールのプロパティ

BackColor プロパティ

Caption プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Font プロパティ

ForeColor プロパティ

Height プロパティ

HelpContextID プロパティ

hWnd プロパティ

Index プロパティ

Left プロパティ

MouseIcon プロパティ

MousePointer プロパティ

Name プロパティ

Object プロパティ

Parent プロパティ

Picture プロパティ

Rows プロパティ

ShowFocusRect プロパティ

Style プロパティ

Tab プロパティ

TabCaption プロパティ

TabEnabled プロパティ

TabHeight プロパティ

TabIndex プロパティ

TabMaxWidth プロパティ

TabOrientation プロパティ

TabPicture プロパティ

Tabs プロパティ (タブ ダイアログ コントロール)

TabsPerRow プロパティ

TabStop プロパティ

TabVisible プロパティ

Tag プロパティ

Top プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ

WordWrap プロパティ


タブ ダイアログ コントロールのメソッド

Drag メソッド

Move メソッド

SetFocus メソッド

ShowWhatsThis メソッド

ZOrder メソッド


タブ ダイアログ コントロールのイベント

Click イベント

DblClick イベント

DragDrop イベント

DragOver イベント

GotFocus イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント


Click イベント (タブ ダイアログ コントロール)

関連項目	例

ユーザーがタブ ダイアログ コントロール上のタブを選択すると発生します。

構文

Sub object_Click ([index As Integer], previoustab As Integer)

Click イベント構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

index	コントロール配列の場合、コントロール配列のインデックス番号が渡されます。

previoustab	直前にアクティブだったタブを表す数式が渡されます。

解説

ユーザーがタブをクリックして、アクティブなタブを特定するには、Click イベントを使用します。タブの Click イベントが発生すると、そのタブがアクティブになり、デザイン時に配置したコントロールが表示されます。

引数 previoustab を使用すると、ユーザーが別のタブをクリックしたときに発生する変更をチェックすることができます。

カレントのタブを特定するには、Tab プロパティを使用します。


関連項目

タブ ダイアログ コントロール


Click イベント (タブ ダイアログ コントロール) の例

次のプログラムでは、ユーザーが別のタブを選択すると同時に、タブ ダイアログ コントロールの 2 つのタブの選択情報を保存します。

Private Sub sstbPrefs_Click(PreviousTab As Integer)

Dim ThisSetting As String

Select Case PreviousTab

Case 0

If optLoanLen(0) = True Then

ThisSetting = "Months"

Else

ThisSetting = "Years"

End If

SaveSetting("LoanSheet", "LoanLength", _

"Period", ThisSetting)

Case 1

Dim X As Integer

For X = 0 To 3

If OptPctsShown(X) = True Then

SaveSetting("LoanSheet", "InterestRate", _

 "Precision", OptPctsShown(X).Tag)

Exit For

End If

Next X

End Select

End Sub


Picture プロパティ (タブ ダイアログ コントロール)

関連項目	例

タブ ダイアログ コントロールのカレントのタブに表示されるグラフィックスを設定します。値の取得も可能です。

構文

object.Picture [ = picture]

Picture プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

picture	カレントのタブに表示するビットマップまたはアイコンを文字列式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

picture の設定値は次のとおりです。

設定値	内容

(なし)	タブ ダイアログ コントロールへの参照を表すオブジェクト式。

(ビットマップ、アイコン、メタファイル)	カレントのタブに表示するビットマップまたはアイコンを指定する文字列式。

解説

デザイン時には、タブをクリックし、プロパティ ウィンドウの Picture プロパティを設定することによって、それぞれのタブの Picture プロパティを設定します。実行時には、LoadPicture 関数、あるいは他のコントロールまたは Form オブジェクトの Picture プロパティを使用して、タブの Picture プロパティを設定します。特定のタブをカレントのタブにするには、Tab プロパティを設定します。

デザイン時に Picture プロパティを設定すると、グラフィックスは、タブ ダイアログ コントロールを含む Form オブジェクトと共に保存およびロードされます。実行可能ファイル(.EXE) を作成すると、ファイルにグラフィックスが含まれます。実行時にグラフィックスをロードすると、グラフィックスが、アプリケーションと共に保存されることはありません。

Picture プロパティを設定すると、アクティブ タブにピクチャを表示すると同時に、カレントのタブの TabPicture プロパティも設定されます。


関連項目

タブ ダイアログ コントロール

TabPicture プロパティ


Picture プロパティの例 (タブ ダイアログ コントロール)

次のプログラムでは、ファイルからビットマップをロードし、そのビットマップをアクティブ タブに設定します。このプログラムを使用するには、フォームにコマンド ボタン (CommandButton) コントロールとタブ ダイアログ コントロールを配置します。コマンド ボタン コントロールの Click イベントにコードを貼り付け、プログラムを実行します。

Private Sub Command1_Click()

SSTab1.Picture = LoadPicture(“c:\windows\cars.bmp”)

End Sub


Rows プロパティ (タブ ダイアログ コントロール)

関連項目

タブ ダイアログ コントロール内のタブの上部の総行数を返します。

構文

object.Rows

引数 object には、タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

解説

タブ ダイアログ コントロールの行数は、デザイン時に、Tabs プロパティおよび TabsPerRow プロパティを設定することによって指定します。


関連項目

タブ ダイアログ コントロール

Tabs プロパティ (タブ ダイアログ コントロール)

TabsPerRow プロパティ


ShowFocusRect プロパティ

関連項目

タブ ダイアログ コントロール上のタブがフォーカスを持ったときに、フォーカスを表す四角形をタブ上に表示するかどうかを決定する値を設定します。値の取得も可能です。

構文

object.ShowFocusRect [ = boolean ]

ShowFocusRect プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

boolean	フォーカスを表す四角形の動作をブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) フォーカスを持っているタブ上で、フォーカスを表す四角形を表示します。

False	フォーカスを持っているタブ上で、フォーカスを表す四角形を表示しません。


関連項目

タブ ダイアログ コントロール


Style プロパティ (タブ ダイアログ コントロール)

間連項目

タブ ダイアログ コントロールのタブのスタイルを設定します。値の取得も可能です。

構文

object.Style [ = value ]

Style プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

value	タブのスタイルを指定する定数または整数で指定します。設定する値については、次の「設定値」を参照してください。。

設定値

value の設定値は次のとおりです。

定数	値	内容

ssStyleTabbedDialog	0	(既定値)  ダイアログのタブが、Microsoft Office for Windows のアプリケーションと同じ形式で表示されます。このスタイルを選択すると、アクティブ タブの文字は太字になります。

ssStylePropertyPage	1	ダイアログのタブが、Microsoft Windows 95 と同じ形式で表示されます。この設定を選択すると、TabMaxWidth プロパティは無視され、各タブの幅は、そのキャプション内の文字列の幅に調整されます。タブに文字列を表示するときに使用される文字は、太字ではありません。


関連項目

タブ ダイアログ コントロール

TabMaxWidth プロパティ


Tab プロパティ (タブ ダイアログ コントロール)

関連項目	例

タブ ダイアログ コントロールに対してカレントのタブを設定します。値の取得も可能です。

構文

object.Tab [ = tabnumber ]

Tab プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tabnumber	特定のタブを数式で指定します。先頭のタブは常に 0 です。

解説

カレントのタブが手前に移動して、アクティブ タブとなります。

通常、アプリケーションのユーザーは、タブをクリックしてこれをカレントのタブにします。また、コードからカレントのタブを選択する必要がある場合もあります。たとえば、アプリケーションの中で特定のダイアログ ボックスを表示するたびに、同じタブをカレントのタブにする場合などです。Form オブジェクトの Hide メソッドを使用してダイアログ ボックスを閉じた場合、フォームが非表示となったときにアクティブ タブが、次にダイアログ ボックスが表示されるときのアクティブ タブになります。タブ ダイアログ コントロールの Tab プロパティを設定すると、ダイアログ ボックスが表示されるたびに、同じタブをアクティブにすることができます。


関連項目

タブ ダイアログ コントロール


Tab プロパティの例

次のプログラムでは、コントロールを含むフォームを表示する前に、タブ ダイアログ コントロールの先頭のタブを常にアクティブ タブにします。このプログラムを使用するには、2 つの Form オブジェクトを作成します。Form1 にコマンド ボタン (CommandButton) コントロールを、Form2 には タブ ダイアログ コントロールを設定します。Form1 のコマンド ボタン コントロールの Click イベントにコードを貼り付け、プログラムを実行します。

Private Sub Command1_Click()

Form2.SSTab1.Tab = 1

Form2.Show

End Sub


TabCaption プロパティ

関連項目	例

タブ ダイアログ コントロールの各タブにキャプションを設定します。値の取得も可能です。

構文

object.TabCaption(tab) [ = text ]

TabCaption プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tab	キャプションを表示するタブを数式で指定します。

text	指定されたタブのキャプションとして表示される文字列を表す文字列式を指定します。

解説

デザイン時には、タブをクリックし、プロパティ ウィンドウで Caption プロパティを設定して TabCaption プロパティを設定することができます。また、プロパティ ページ ダイアログ ボックスの [General] タブで TabCaption プロパティを設定することもできます。

実行時には、TabCaption プロパティを使用することで、読み取りまたは変更することができます。また、アクティブ タブの場合は、Caption プロパティを使用して TabCaption プロパティを変更することもできます。

TabCaption プロパティを使用すると、タブにアクセス キーを割り当てることができます。TabCaption 設定の中で、アクセス キーとして指定する文字の直前に、アンパサンド (&) を指定します。文字は下線付きになります。Alt キーを押しながら下線付きの文字を押すと、そのタブがアクティブ タブになります。アクセス キーを作成せずに、アンパサンドをキャプションに指定するには、アンパサンドを 2 つ続けて指定します (&&)。この場合、キャプションには 1 つのアンパサンドだけが表示され、文字に下線が付くことはありません。


関連項目

Caption プロパティ

タブ ダイアログ コントロール

Tab プロパティ (タブ ダイアログ コントロール)


TabCaption プロパティの例

次のプログラムでは、1 つのタブにスポーツの守備側の選手、もう 1 つのタブに攻撃側の選手を一覧表示している タブ ダイアログ コントロールのタブに、特定の文字列を追加または削除します。フォーム上でユーザーがチェック ボックス (CheckBox) コントロールをクリックすることによって、長いキャプションまたは短いキャプションを切り替えることができます。

Private Sub Check1_Click()

Dim X As Integer

For X = 0 To SSTab1.Tabs - 1

Select Case Check1.Value

Case 0	' 短いキャプションに切り替えます。

SSTab1.TabCaption(X) = Left(SSTab.TabCaption(X), 7)

Case 1	' 長いキャプションに切り替えます。

SSTab1.TabCaption(X) = SSTab1.TabCaption(X) & " Players"

End Select

Next X

End Sub


TabEnabled プロパティ

関連項目

タブ ダイアログ コントロールのタブが、クリックされたときに応答するかどうかを設定します。値の取得も可能です。

構文

object.TabEnabled(tab)[ = boolean ]

TabEnabled プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tab	タブを数式で指定します。

boolean	タブがクリックされたときに応答するかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) クリックされたときにタブが応答します。

False	クリックされたときにタブは応答しません。

解説

タブが無効になると、淡色表示となり、これを選択することはできません。

TabEnabled プロパティは、1 つのタブを有効または無効にします。タブ ダイアログ コントロール全体を有効または無効とするには、Enabled プロパティを使用します。


関連項目

タブ ダイアログ コントロール

Enabled プロパティ


TabHeight プロパティ

関連項目

タブ ダイアログ コントロールのすべてのタブの高さを設定します。値の取得も可能です。

構文

object.TabHeight [ = height ]

TabHeight プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

height	タブの高さを数式で指定します。そのコンテナのスケール モードに基づきます。


関連項目

タブ ダイアログ コントロール


TabMaxWidth プロパティ

関連項目

タブ ダイアログ コントロールの各タブの最大幅を設定します。値の取得も可能です。

構文

object.TabMaxWidth [ = width ]

TabMaxWidth プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

width	各タブの最大幅を、そのコンテナのスケールモードに基づいた数式で指定します。

解説

Style プロパティの設定が ssStyleTabbedDialog で、TabMaxWidth プロパティがゼロ (0) に設定されている場合、タブ ダイアログ コントロールは、TabsPerRow プロパティに基づいてタブのサイズを自動的に調整し、タブの幅を均等に設定します。

Style プロパティの設定が ssStylePropertyPage の場合は、TabMaxWidth プロパティは無視されます。各タブの幅は、TabCaption プロパティ内の文字列の長さに合わせて、自動的に調整されます。


関連項目

タブ ダイアログ コントロール


TabOrientation プロパティ

関連項目

タブ ダイアログ コントロールのタブの位置を設定します。値の取得も可能です。

構文

object.TabOrientation [ = number ]

TabOrientation プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

number	タブの位置を数式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

ssTabOrientationTop	0	タブはコントロールの上側に表示されます。

ssTabOrientationBottom	1	タブはコントロールの下側に表示されます。

ssTabOrientationLeft	2	タブはコントロールの左側に表示されます。

ssTabOrientationRight	3	タブはコントロールの右側に表示されます。

解説

TrueType フォントを使用している場合、TabOrientation プロパティを ssTabOrientationLeft または ssTabOrientationRight に設定すると、文字列が回転します。


関連項目

タブ ダイアログ コントロール


TabPicture プロパティ

関連項目

タブ ダイアログ コントロールの特定のタブに表示されるビットマップまたはアイコンを設定します。値の取得も可能です。

構文

object.TabPicture(tab) [ = picture ]

TabPicture プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tab	ピクチャを表示するタブを数式で指定します。

picture	グラフィックスを表す文字列式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

picture の設定値は次のとおりです。

設定値	内容

(なし)	(既定値) ピクチャがありません。

(ビットマップ、アイコン、メタファイル)	グラフィックスを指定します。実行時には、LoadPicture 関数、あるいは他のコントロールまたは Form オブジェクトの Picture プロパティを使用して、このプロパティを設定します。

解説

デザイン時には、タブをクリックし、プロパティ ウィンドウで Picture プロパティを設定することによって、TabPicture プロパティを設定することができます。また、プロパティ ページ ダイアログ ボックスの [ピクチャ] タブの中で Picture プロパティを設定することもできます。

実行時には、TabCaption プロパティを使用することで、取得または変更することができます。また、アクティブ タブの場合は、Picture プロパティを使用して操作することができます。


関連項目

Picture プロパティ (タブ ダイアログ コントロール)

タブ ダイアログ コントロール

Tab プロパティ (タブ ダイアログ コントロール)


Tabs プロパティ (タブ ダイアログ コントロール)

関連項目

タブ ダイアログ コントロールのタブの総数を返します。またはこれを設定します。

構文

object.Tabs [ = tabnumber ]

Tabs プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tabnumber	コントロール上のタブ数を数式で指定します。タブには、Tab x というキャプションが自動的に設定されます。x には番号が 0、1、2、3、の順に入ります。

解説

実行時に Tabs プロパティを変更して、タブを新しく追加、または削除することができます。

デザイン時には、Tabs プロパティを TabsPerRow プロパティと一緒に使用し、コントロールに表示されるタブの行数を決定します。実行時には、Rows プロパティを使用します。


関連項目

タブ ダイアログ コントロール

TabsPerRow プロパティ


TabsPerRow プロパティ

関連項目

タブ ダイアログ コントロールの 1 行のタブ数を設定します。値の取得も可能です。

構文

object.TabsPerRow [ = tabnumber ]

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tabnumber	1 行上のタブ数を数式で指定します。

解説

デザイン時に、このプロパティを Tabs プロパティとともに使用して、コントロールによって表示される行数を決定します。実行時には、Rows プロパティを使用します。


関連項目

タブ ダイアログ コントロール

Tabs プロパティ (タブ ダイアログ コントロール)


TabVisible プロパティ

関連項目

タブ ダイアログ コントロールでタブが表示または非表示であることを示す値を設定します。値の取得も可能です。デザイン時には使用できません。

構文

object.TabVisible(tab) [ = boolean ]

TabVisible プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

tab	表示または非表示を設定するタブを数式で指定します。

boolean	タブが表示または非表示であることをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) タブが表示されます。

False	タブは表示されません。他のタブは自動的に位置が調整されます。タブとタブの間に隙間はできません。

解説

TabVisible プロパティは、1 つのタブを表示または非表示にします。タブ ダイアログ コントロール全体を表示または非表示にするには、Visible プロパティを使用します。


関連項目

タブ ダイアログ コントロール

Visible プロパティ


タブ ダイアログ コントロールの定数

関連項目

Style 定数

定数	値	内容

ssStyleTabbedDialog	0	Microsoft Office for Windows のアプリケーションのタブ ダイアログのタブと同じ形式で、タブが表示されます。

ssStylePropertyPage	1	Microsoft Windows 95 のタブと同じ形式で、タブが表示されます。

Tab Orientation 定数

定数	値	内容

ssTabOrientationTop	0	タブはコントロールの上側に表示されます。

ssTabOrientationBottom	1	タブはコントロールの下側に表示されます。

ssTabOrientationLeft	2	タブはコントロールの左側に表示されます。

ssTabOrientationRight	3	タブはコントロールの右側に表示されます。


関連項目

タブ ダイアログ コントロール

Style プロパティ (タブ ダイアログ コントロール)

TabOrientation プロパティ


WordWrap プロパティ (タブ ダイアログ コントロール)

関連項目

タブ ダイアログ コントロールで、タブ上の文字列が長すぎて 1 行に収まらない場合、次の行に折り返すかどうかを設定します。値の取得も可能です。

構文

object.WordWrap [ = boolean ]

WordWrap プロパティ構文の引数は次のとおりです。

引数	内容

object	タブ ダイアログ コントロールへの参照を表すオブジェクト式を指定します。

boolean	各タブ上の文字列が長すぎて 1 行に収まらない場合、次の行に折り返すかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	文字列が長すぎて各タブの幅に収まらない場合に、文字列を折り返します。

False	(既定値) 文字列が長すぎる場合、折り返さずに切り捨てます。

解説

タブ ダイアログ コントロールの、各タブ上での文字列の表示方法を設定するには、WordWrap プロパティを使用します。たとえば、動的にタブを変更するダイアログでは、表示される文字列も変わります。文字列が長い場合にも文字列すべてを表示するには、WordWrap プロパティを真 (True)、TabMaxWidth プロパティを 0、および TabHeight プロパティを文字列のもっとも長いタブを表示できる高さに設定します。


関連項目

Caption プロパティ

タブ ダイアログ コントロール

TabHeight プロパティ

TabMaxWidth プロパティ

Tabs プロパティ (タブ ダイアログ コントロール)


 ステータス バー コントロール

関連項目	プロパティ	メソッド	イベント	定数

ステータス バー コントロールは、親フォームの端にウィンドウを表示し、アプリケーションがそのウィンドウに各種のステータス情報を表示できるようにします。ステータス バー コントロールは、Panels コレクションに含まれる Panel オブジェクトに分割 (最大 16 個) できます。

構文

StatusBar

解説

ステータス バー コントロールは、それぞれが文字列およびピクチャを含む Panel オブジェクトで構成されます。各パネルの表示状態を制御するプロパティには、Width、Alignment (文字列およびピクチャの配置揃え)、および Bevel があります。また、Style プロパティを使用すると、日付、時刻、キーボード ステータスなど 7 種類の基本的な情報を自動的に表示できます。

デザイン時に、[ステータス バー コントロールのプロパティ] ダイアログ ボックスを使用して、パネルの作成や、その表示状態の変更、および関数の設定を行うことができます。実行時には、アプリケーションの状態に応じて異なる関数を表示するように Panel オブジェクトを再構成できます。Panel オブジェクトのプロパティ、イベント、およびメソッドの詳細については、「Panel オブジェクト、Panels コレクション」を参照してください。

ステータス バー コントロールは、通常、フォームに表示されているオブジェクトについての情報、オブジェクトの構成要素、またはオブジェクトの操作に関係する関連情報を表示します。ステータス バー コントロールを、ツールバー コントロールなど他のコントロールと共に使用すると、簡潔かつ豊富な情報を持つインターフェイスを作成することができます。

配布時の注意   ステータス バー コントロールは 32 ビットのカスタム コントロールで、Windows 95 または Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、ステータス バー コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでステータス バー コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については『プログラミング ガイド』を参照してください。


関連項目

Panel オブジェクト、Panels コレクション


ステータス バー コントロールのプロパティ

Align プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Font プロパティ

Height プロパティ

hWnd プロパティ

Index プロパティ

Left プロパティ

MouseIcon プロパティ

MousePointer プロパティ

Name プロパティ

Negotiate プロパティ

Panels プロパティ

Parent プロパティ

SimpleText プロパティ

Style プロパティ (ステータス バー コントロール)

Tag プロパティ

Top プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


ステータス バー コントロールのメソッド

Move メソッド

Refresh メソッド

ShowWhatsThis メソッド

ZOrder メソッド


ステータス バー コントロールのイベント

Click イベント

DblClick イベント

DragDrop イベント

DragOver イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント

PanelClick イベント

PanelDblClick イベント


ステータス バー コントロールの定数

関連項目

SbarStyle 定数

定数	値	内容

sbrNormal	0	ステータス バー コントロールをパネルに分割します。

sbrSimple	1	ステータス バー コントロールを、1 つの大きなパネルおよび SimpleText プロパティの文字列だけで構成します。

PanelAlignment 定数

定数	値	内容

sbrLeft	0	文字列を左詰めで表示します。

sbrCenter	1	文字列を中央揃えで表示します。

sbrRight	2	文字列を右詰めで表示します。

PanelAutoSize 定数

定数	値	内容

sbrNoAutoSize	0	自動サイズ調整を行いません。

sbrSpring	1	余分な領域をパネルで分割します。

sbrContents	2	内容に合わせてパネルの自動サイズ調整を行います。

PanelBevel 定数

定数	値	内容

sbrNoBevel	0	パネルは平らに表示します。

sbrInset	1	くぼんだように表示します。

sbrRaised	2	浮き出したように表示します。

PanelStyle 定数

定数	値	内容

sbrText	0	文字列およびビットマップを表示します。

sbrCaps	1	CapsLock キーの状態を表示します。

sbrNum	2	NumLock キーの状態を表示します。

sbrIns	3	Ins キーの状態を表示します。

sbrScrl	4	ScrollLock キーの状態を表示します。

sbrTime	5	時刻をシステムで設定された形式で表示します。

sbrDate	6	日付をシステムで設定された形式で表示します。

7	カナキーの状態を表示します。


関連項目

Alignment プロパティ (Panel オブジェクト)

Autosize プロパティ (Panel オブジェクト)

Bevel プロパティ (Panel オブジェクト)

SimpleText プロパティ

Style プロパティ (ステータス バー コントロール)

Style プロパティ (Panel オブジェクト)

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


Panel オブジェクト、Panels コレクション

関連項目	プロパティ	メソッド	イベント

Panel オブジェクト
アプリケーションの状態を表す文字列およびビットマップで構成されます。

Panels コレクション
Panel オブジェクトのコレクションで構成されます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

statusbar.Panels

statusbar.Panels(index)

標準のコレクションの構文に従って、コレクションおよびコレクションの個別の要素をそれぞれ参照します。

Panel オブジェクトおよび Panels コレクションの構文の指定項目は次のとおりです。

指定項目	内容

statusbar	ステータス バー コントロールへの参照を表すオブジェクト式を指定します。

index	Panels コレクションのオブジェクトを特定する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

Panels コレクションは、インデックスが 1 から始まる Panel オブジェクトの配列です。ステータス バー コントロールには、初期状態では 1 つの Panel オブジェクトがあります。したがって、3 つのパネルを作成するには、2 つのオブジェクトをコレクションに追加します。

Panels プロパティは、Panels コレクションへの参照を返します。

実行時に、Panel オブジェクトをコレクションに追加するには、Panel オブジェクトに対して Add メソッドを使用します。デザイン時には、[ステータス バー コントロールのプロパティ] ダイアログ ボックスの [パネル] タブを使用します。

コレクションの各項目は、その項目の Index プロパティまたは Key プロパティで参照できます。たとえば、次のコードは、コレクションの 3 番めの Panel オブジェクトへの参照を取得します。

Dim pnlX As Panel

Set pnlX = StatusBar1.Panels(3)	' インデックス番号で参照します。

' または

Set pnlX = StatusBar1.Panels.("Third")	' 重複しないキーで参照します。

' または

Set pnlX = StatusBar1.Panels.Item(3)	' Item メソッドを使用します。


関連項目

Add メソッド (Panels コレクション)

Index プロパティ

Key プロパティ

Panels プロパティ

ステータス バー コントロール


Panel オブジェクト、Panels コレクションのプロパティ

凡例

Alignment プロパティ (Panel オブジェクト)

Autosize プロパティ (Panel オブジェクト)

Bevel プロパティ(Panel オブジェクト)

Count プロパティ

Enabled プロパティ

Index プロパティ

Left プロパティ

MinWidth プロパティ

Picture プロパティ

Style プロパティ (Panel オブジェクト)

Tag プロパティ

Text プロパティ

Visible プロパティ

Width プロパティ (Panel オブジェクト)


Panel オブジェクト、Panels コレクションのメソッド

凡例

Add メソッド (Panels コレクション)

Clear メソッド

Item メソッド

Remove メソッド


Panel オブジェクト、Panels コレクションのイベント

凡例

PanelClick イベント

PanelDblClick イベント


Add メソッド (Panels コレクション)

関連項目	例

Panels コレクションに Panel オブジェクトを追加し、新しく作成された Panel オブジェクトへの参照を返します。名前付き引数は、指定できません。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Add(index, key, text, style, picture)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	Panels コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。Panel オブジェクトを挿入する位置を指定する整数で指定します。引数 index を指定しない場合は、Panel オブジェクトは Panels コレクションの末尾に追加されます。

key	省略可能です。Panel オブジェクトを特定できる重複しない文字列を指定します。特定の Panel オブジェクトを取得するのに使用します。

text	省略可能です。Panel オブジェクトに表示される文字列。

style	省略可能です。パネルのスタイルを指定します。スタイルの詳細については、「Style プロパティ (Panel オブジェクト)」を参照してください。

picture	省略可能です。アクティブな Panel に表示されるビットマップを指定します。詳細については、「LoadPicture 関数」を参照してください。

解説

実行時には、Add メソッドは新しく挿入された Panel オブジェクトへの参照を返します。この参照を使用すると、新しい Panel オブジェクトのプロパティを設定できます。次に例を示します。

Dim pnlX as Panel

Dim I as Integer

For I = 1 to 6	' 6 個の Panel オブジェクトを追加します。

' パネルを作成し、同時にそのパネルへの参照を取得します。

Set pnlX = StatusBar1.Panels.Add(,"Panel " & I) ' Key プロパティを設定します。

pnlX.Style = I	' Style プロパティを設定します。

pnlX.AutoSize = sbrContents	' AutoSize プロパティを設定します。

Next I

Panel オブジェクトの Style プロパティに、0 (文字列およびピクチャ) 以外の値を設定すると、Text プロパティに設定した文字列は、Style プロパティに 0 を再設定するまで表示されません。

Panels コレクションは、インデックスが 1 から始まるコレクションです。コレクションの先頭 (初期状態) の Panel への参照を取得するには、Item メソッドを使用します。

Dim pnlX As Panel

' 先頭の Panel オブジェクトへの参照を取得します。

Set pnlX = StatusBar1.Panels.Item(1)

pnlX.Text = "Changed text"	' Panel オブジェクトの文字列を変更します。

ステータス バー コントロール上には、初期状態で既に 1 つの Panel オブジェクトが配置されています。したがって、コレクションにパネルを追加すると、Count プロパティの値は、追加したパネル数に 1 を加えた値になります。この例を次に示します。

Dim I as Integer

For I = 1 to 4  ' 4 つのパネルを追加します。

StatusBar1.Panels.Add   ' プロパティを指定しないでパネルを追加します。

Next I

MsgBox StatusBar1.Panels.Count   ' パネル数として 5 を返します。


関連項目

Alignment プロパティ (Panel オブジェクト)

AutoSize プロパティ (Panel オブジェクト)

Bevel プロパティ (Panel オブジェクト)

Count プロパティ

Index プロパティ

Item メソッド

Key プロパティ

Panel オブジェクト、Panels コレクション

ステータス バー コントロール

Style プロパティ (Panel オブジェクト)

Visible プロパティ


Add メソッドの例 (Panels コレクション)

次のプログラムでは、Add メソッドを使用して 2 つの新しい Panel オブジェクトをステータス バー コントロールに追加します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行します。

Private Sub Form_Load()

Dim pnlX as Panel

' 時計のアイコンおよび時刻のスタイルを使用したパネルを追加します。

Set pnlX = StatusBar1.Panels.Add _

(,,,sbrTime,LoadPicture("icons\misc\clock03.ico"))

' ビットマップおよび日付のスタイルを使用した 2 番めのパネルを追加します。

Set pnlX = StatusBar1.Panels.Add _

(,,,sbrDate,LoadPicture("bitmaps\assorted\calendar.bmp"))

' 末尾の Panel オブジェクトの Bevel プロパティを設定します。

pnlX.Bevel = sbrInset	' パネルはくぼんで表示されます。

pnlX.Alignment = sbrRight	' 末尾の Panel オブジェクトの Alignment プロパティを設定します。

' 先頭の Panel オブジェクトの Text プロパティおよび AutoSize プロパティを設定します。

StatusBar1.Panels(1).Text = "Add Panel Example"

StatusBar1.Panels(1).AutoSize = sbrContents

End Sub


Alignment プロパティ (Panel オブジェクト)

関連項目	例

ステータス バー コントロールの Panel オブジェクトのキャプション文字列の配置を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Alignment [= number]

Alignment プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

number	文字列の配置状態を定数または値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sbrLeft	0	(既定値)  文字列は左詰めで、ビットマップの右側に表示されます。

sbrCenter	1	文字列は中央揃えで、ビットマップの右側に表示されます。

sbrRight	2	文字列は右詰めで、ビットマップの左側に表示されます。


関連項目

Add メソッド (Panels コレクション)

Clear メソッド

Item メソッド

Panel オブジェクト、Panels コレクション

Remove メソッド

ステータス バー コントロール

ステータス バー コントロールの定数


Alignment プロパティの例 (Panel オブジェクト)

次のプログラムでは、2 つの Panel オブジェクトをステータス バー コントロールに追加し、各パネルの文字列を、3 種類のスタイルのうちの 1 つを使用して配置します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行します。

Sub Form_Load()

Me.ScaleMode = vbTwips	' ScaleMode プロパティに twip を設定します。

Me.Width = 8145	' フォームにすべてのパネルを表示する十分な幅を設定します。

' 変数を宣言します。

Dim pnlX As Panel

Dim I As Integer

For I = 1 to 2	' 2 つのパネルを追加します。

StatusBar1.Panels.Add

Next I

For I = 1 to 3	' 各 Panel オブジェクトにピクチャを追加します。

Set pnlX = StatusBar1.Panels(I)

Set pnlX.Picture = LoadPicture("icons\comm\net12.ico")

Next I

' スタイルおよび配置を設定します。

With StatusBar1.Panels

.Item(1).Text = "Left"

.Item(1).Alignment = sbrLeft	' 左詰め。

.Item(1).MinWidth = 2500	' 結果を確認するためのスペースを設定します。

.Item(2). Text = "Center"

.Item(2).Alignment = sbrCenter	' 中央揃え。

.Item(2).MinWidth = 2500	' 結果を確認するためのスペースを設定します。

.Item(3).Text = "Right"

.Item(3).Alignment = sbrRight	' 右詰め。

.Item(3).MinWidth = 2500	' 結果を確認するためのスペースを設定します。

End With

End Sub


AutoSize プロパティ (Panel オブジェクト)

関連項目	例

ステータス バー コントロールの Panel オブジェクトの幅が、パネルの内容の変更、または親フォームの大きさの変更に合わせて自動的に変更されるかどうかを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.AutoSize [= number]

AutoSize プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

number	Panel オブジェクトの幅を自動的に変更するかどうかを定数または値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sbrNoAutoSize	0	(既定値) 自動的に大きさが変更されることはありません。Panel オブジェクトの幅は、常に Width プロパティで指定する値になります。

sbrSpring	1	親フォームの大きさが変更されて、余分な領域がある場合、この設定を持つすべてのパネルで領域を分割してパネルの大きさを変更します。ただし、パネルの幅は、MinWidth プロパティで指定する値より小さくなることはありません。

sbrContents	2	Panel オブジェクトは、その内容に合わせて自動的に大きさが変更されます。

解説

AutoSize プロパティが Content に設定されている Panel オブジェクトは、Spring に設定されている Panel オブジェクトよりも優先されます。したがって、Content に設定されている Panel オブジェクトが領域を必要とする場合、Spring に設定されている Panel オブジェクトの幅はその分だけ短くなります。


関連項目

MinWidth プロパティ

Panel オブジェクト、Panels コレクション

ステータス バー コントロール

ステータス バー コントロールの定数

Width プロパティ (Panel オブジェクト)


AutoSize プロパティの例 (Panel オブジェクト)

次のプログラムでは、2 つの Panel オブジェクトをステータス バー コントロールに追加し、すべてのパネルの AutoSize プロパティを Content にします。カーソルがフォームのオブジェクトの上を移動すると、各コントロールの Tag プロパティ値と共に x 座標および y 座標が表示されます。このプログラムを実行するには、フォーム上にステータス バー、ピクチャ ボックス (PictureBox)、およびコマンド ボタン (CommandButton) の各コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、各コントロール上でカーソルを移動します。

Private Sub Form_Load()

Dim pnlX As Panel

' 各オブジェクトに長いラベルを設定します。

Form1.Tag = "Project 1 Form"

Command1.Tag = "A command button"

Picture1.Tag = "Picture Box Caption"

StatusBar1.Tag = "Application StatusBar1"

' 先頭のパネルの AutoSize プロパティを Content にします。

StatusBar1.Panels(1).AutoSize = sbrContents

' 2 つのパネルを追加し、これらのパネルの AutoSize プロパティを Content にします。

Set pnlX = StatusBar1.Panels.Add

pnlX.AutoSize = sbrContents

Set pnlX = StatusBar1.Panels.Add

pnlX.AutoSize = sbrContents

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

' コントロールのラベルを panel 1 に、さらに x 座標および y 座標を

' panel 2 および panel 3 に表示します。AutoSize プロパティを Content にしたために、

' 先頭のパネルは文字列の長さに合わせて拡大されます。

StatusBar1.Panels(1).Text = Form1.Tag

StatusBar1.Panels(2).Text = "X = " & x

StatusBar1.Panels(3).Text = "Y = " & y

End Sub

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

StatusBar1.Panels(1).Text = Command1.Tag

StatusBar1.Panels(2).Text = "X = " & x

StatusBar1.Panels(3).Text = "Y = " & y

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

StatusBar1.Panels(1).Text = Picture1.Tag

StatusBar1.Panels(2).Text = "X = " & x

StatusBar1.Panels(3).Text = "Y = " & y

End Sub

Private Sub StatusBar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

StatusBar1.Panels(1).Text = StatusBar1.Tag

StatusBar1.Panels(2).Text = "X = " & x

StatusBar1.Panels(3).Text = "Y = " & y

End Sub


Bevel プロパティ (Panel オブジェクト)

関連項目	例

ステータス バー コントロールの Panel オブジェクトを立体的に表示するスタイルを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 オペレーティング システムまたは Windows NT 3.51 以降のいずれかを必要とします。

構文

object.Bevel [= value]

Bevel プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

value	パネルのスタイルを定数または値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

sbrNoBevel	0	Panel オブジェクトを平らに表示します。文字列は、ステータス バーにそのまま表示されます。

sbrInset	1	(既定値) Panel オブジェクトは、ステータス バーの中にくぼんだように表示します。

sbrRaised	2	Panel オブジェクトは、ステータス バーの上に浮き出したように表示します。


関連項目

Add メソッド (Panels コレクション)

Panel オブジェクト、Panels コレクション

ステータス バー コントロール

ステータス バー コントロールの定数


Bevel プロパティの例 (Panel オブジェクト)

次のプログラムでは、2 つの Panel オブジェクトをステータス バー コントロールに追加し、各 Panel オブジェクトに異なるスタイルを指定します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行します。

Private Sub Form_Load()

Dim pnlX As Panel

Dim I as Integer

For I = 1 to 2

Set pnlX = StatusBar1.Panels.Add() ' 2 つのパネルを追加します。

Next I

With StatusBar1.Panels

.Item(1).Style = sbrCaps	' Panel オブジェクトの Style プロパティに CapsLock キーを設定します。

.Item(1).Bevel = sbrInset	' くぼんで表示します。

.Item(2).Style = sbrNum	' Panel オブジェクトの Style プロパティに NumLock キーを設定します。

.Item(2).Bevel = sbrNoBevel	' 平らに表示します。

.Item(3).Style = sbrDate	' Panel オブジェクトの Style プロパティに日付を設定します。

.Item(3).Bevel = sbrRaised	' 浮き出て表示します。

End With

End Sub


MinWidth プロパティ

関連項目	例

ステータス バー コントロールの Panel オブジェクトの幅の最小値を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.MinWidth [= value]

MinWidth プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

value	Panel オブジェクトの幅の最小値を整数で指定します。この値の座標系は、コントロールのコンテナによって決定されます。

解説

MinWidth プロパティの既定値は、Width プロパティの既定値と同じです。引数 value には、親フォームまたはコンテナの座標系と、同じ単位で指定します。

Width プロパティは、常に Panel オブジェクトの実際の幅を表します。Width プロパティおよび MinWidth プロパティは、AutoSize プロパティを Spring に設定し、ステータス バーに余分な領域がある場合にのみ異なります。この場合、Panel オブジェクトの幅は広がります。


関連項目

AutoSize プロパティ (Panel オブジェクト)

Panel オブジェクト、Panels コレクション

Width プロパティ (Panel オブジェクト)

ステータス バー コントロール


MinWidth プロパティの例

次のプログラムでは、3 つの Panel オブジェクトを伴うステータス バー コントロールを作成し、各 MinWidth プロパティを異なる値に設定します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、任意の Panel オブジェクトをクリックして幅を広げます。

Private Sub Form_Load()

Dim I as Integer

Form1.ScaleMode = vbTwips ' ScaleMode プロパティに twip を設定します。

For I = 1 to 2

StatusBar1.Panels.Add	' 2 つのパネルを追加します。

Next I

With StatusBar1.Panels

.Item(1).Text = "Short"

.Item(1).AutoSize = sbrSpring	' AutoSize プロパティを Spring に設定します。

.Item(1).MinWidth = 200	' 幅を変更します。

.Item(2).Text = "Long"

.Item(2).AutoSize = sbrSpring	' AutoSize プロパティを Spring に設定します。

.Item(2).MinWidth = 1000	' 幅を変更します。

.Item(3).Style = sbrTime	' Panel オブジェクトの Style プロパティに時刻を設定します。

.Item(3).AutoSize = sbrSpring	' AutoSize プロパティを Spring に設定します。

End With

End Sub

Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)

Panel.MinWidth = 2000

End Sub


Panels プロパティ

関連項目

Panel オブジェクトのコレクションへの参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Panels

引数 object には、ステータス バー コントロールへの参照を表すオブジェクト式を指定します。


関連項目

Add メソッド (Panels コレクション)

Count プロパティ

Item メソッド

Panel オブジェクト、Panels コレクション


PanelClick イベント

関連項目	例

標準の Click イベントと同様で、PanelClick イベントは、ステータス バー コントロールの Panel オブジェクト上で、マウス ボタンがクリックされたときに発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_PanelClick(ByVal panel As Panel)

PanelClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ステータス バー コントロールへの参照を表すオブジェクト式を指定します。

panel	Panel オブジェクトへの参照が渡されます。

解説

Panel オブジェクトをクリックすると、標準の Click イベントも発生します。

PanelClick イベントは、Panel オブジェクトの上でクリックしたときに限り、発生します。ステータス バー コントロールの Style プロパティを Simple に設定している場合は、パネルが表示されないので、PanelClick イベントは発生しません。

Panel オブジェクトへの参照を使用して、そのパネルのプロパティを設定できます。たとえば、次のコード例では、クリックした Panel オブジェクトの Bevel プロパティを再設定します。

Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)

If Panel.Index = 1 Then

Panel.Bevel = sbrRaised 	' Bevel プロパティを再設定します。

End If

End Sub


関連項目

Click イベント

Panel オブジェクト、Panels コレクション

PanelDblClick イベント

ステータス バー コントロール

Style プロパティ (Panel オブジェクト)


PanelClick イベントの例

次のプログラムでは、2 つの Panel オブジェクトをステータス バー コントロールに追加します。各 Panel オブジェクトをクリックすると、クリックした Panel オブジェクトの Key プロパティおよび Width プロパティの値が、2 番めの Panel オブジェクトに表示されます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行します。

Private Sub Form_Load()

Dim I as Integer

For I = 1 to 2

StatusBar1.Panels.Add

Next I

With StatusBar1.Panels

.Item(1).Style = sbrDate

.Item(1).Key = "Date panel"

.Item(1).AutoSize = sbrContents

.Item(1).MinWidth = 2000

.Item(2).Style = sbrTime

.Item(2).Key = "Time panel"

.Item(3).AutoSize = sbrContents	' AutoSize プロパティを Content に設定します。

.Item(3).Text = "Miscellaneous Data"

.Item(3).Key = "Panel 3"

End With

End Sub

Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)

' クリックしたパネルの Key プロパティおよび Width プロパティの値を Panel 3 に表示します。

StatusBar1.Panels(3).Text = Panel.Key & " Width = " & Panel.Width

End Sub


PanelDblClick イベント

関連項目	例

標準の DblClick イベントと同様で、PanelDblClick イベントは、ステータス バー コントロールの Panel オブジェクト上で、マウス ボタンがダブルクリックされたときに発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Sub object_PanelDblClick(ByVal panel As Panel)

PanelDblClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ステータス バー コントロールへの参照を表すオブジェクト式を指定します。

panel	ダブルクリックした Panel オブジェクトへの参照が渡されます。

解説

Panel オブジェクトをダブルクリックすると、標準の DblClick イベントも発生します。

PanelDblClick イベントは、Panel オブジェクトの上でダブルクリックしたときに限り、発生します。ステータス バー コントロールの Style プロパティを Simple に設定している場合、パネルが表示されないので、PanelDblClick イベントは発生しません。


関連項目

DblClick イベント

PanelClick イベント

Panel オブジェクト、Panels コレクション

ステータス バー コントロール


PanelDblClick イベントの例

次のプログラムでは、2 つの Panel オブジェクトをステータス バー コントロールに追加します。コントロール上の Panel オブジェクトをダブルクリックすると、クリックされた Panel オブジェクトの文字列が表示されます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、コントロール上でダブルクリックします。

Private Sub Form_Load()

Dim I as Integer

For I = 1 to 2

StatusBar1.Panels.Add

Next I

With StatusBar1.Panels

.Item(1).Text = "A long piece of information."

.Item(1).AutoSize = sbrContents	' AutoSize プロパティを Content に設定します。

.Item(2).Style = sbrDate	' Panel オブジェクトの Style プロパティに日付を設定します。

.Item(2).AutoSize = sbrContents	' AutoSize プロパティを Content に設定します。

.Item(3).Style = sbrTime	' Panel オブジェクトの Style プロパティに時刻を設定します。

End With

End Sub

Private Sub StatusBar1_PanelDblClick(ByVal Panel As Panel)

MsgBox Panel.Style

End Sub


SimpleText プロパティ

関連項目	例

ステータス バー コントロールの Style プロパティを Simple に設定されているときに表示される文字列を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SimpleText [= string]

SimpleText プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ステータス バー コントロールへの参照を表すオブジェクト式を設定します。

string	Style プロパティを Simple に設定している場合に表示される文字列を指定します。

解説

ステータス バー コントロールの表示状態は、Style プロパティの設定によって Simple または Normal に切り替えます。Simple を設定した場合、ステータス バーは 1 つの Panel だけを表示します。表示される文字列も、Normal を設定した場合に表示される文字列とは異なります。この文字列は、SimpleText プロパティで設定します。

SimpleText プロパティは、アプリケーションの操作モードが一時的に切り替わるような場合に使用できます。たとえば、メニューがクリックされたときに、そのメニューの目的を SimpleText プロパティを使用して説明できます。


関連項目

ステータス バー コントロール

Style プロパティ (ステータス バー コントロール)


SimpleText プロパティの例

次のプログラムでは、Style プロパティを Normal に設定された 2 つの Panel オブジェクトをステータス バー コントロールに追加し、Style プロパティを Simple に設定した場合に表示される文字列を、SimpleText プロパティを使用して追加します。ステータス バー コントロールの表示状態は、Style プロパティを Simple または Normal に設定することで切り替えます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ステータス バー コントロールをクリックします。

Private Sub Form_Load()

Dim I As Integer

For I = 1 to 2

StatusBar1.Panels.Add	' 2 つの Panel オブジェクトを追加します。

Next I

With StatusBar1.Panels

.Item(1).Style = sbrNum	' Panel オブジェクトの Style プロパティに NumLock キーを設定します。

.Item(2).Style = sbrCaps	' Panel オブジェクトの Style プロパティに CapsLock キーを設定します。

.Item(3).Style = sbrScrl	' Panel オブジェクトの Style プロパティに ScrollLock キーを設定します。

End With

' ステータス バー コントロールの表示状態が Simple の場合に、この文字列が表示されます。

StatusBar1.SimpleText = "Date and Time: " & Now

End Sub

Private Sub StatusBar1_Click()

' Style プロパティの設定を Simple または Normal に切り替えます。

With StatusBar1

If .Style = 0 Then

.Style = sbrSimple	' Simple

Else

.Style = sbrNormal	' Normal

End If

End With

End Sub


Style プロパティ (ステータス バー コントロール)

関連項目	例

ステータス バー コントロールのスタイルを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Style [= number]

Style プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ステータス バー コントロールへの参照を表すオブジェクト式を指定します。

number	ステータス バー コントロールの表示状態を整数または定数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sbrNormal	0	(既定値) Normal。ステータス バー コントロールはすべての Panel オブジェクトを表示します。

sbrSimple	1	Simple。ステータス バー コントロールは 1 つの大きな Panel オブジェクトだけを表示します。

解説

ステータス バー コントロールは、Normal および Simple の 2 つのモードを切り替えることができます。Simple の場合、ステータス バー コントロールは、1 つのパネルだけが表示されます。表示状態も変更され、パネルは境界線のない状態で表示されます。このためステータス バー コントロールには 2 種類の表示状態があり、各表示状態は個別に保持されます。

ステータス バー コントロールのスタイルによって、異なる文字列を表示できます。Style プロパティを Simple に設定している場合に表示される文字列を設定するには、SimpleText プロパティを使用します。


関連項目

SimpleText プロパティ

ステータス バー コントロール

Style プロパティ (Panel オブジェクト)

ステータス バー コントロールの定数


Style プロパティの例 (ステータス バー コントロール)

次のプログラムでは、Normal で表示される 2 つの Panel オブジェクトをステータス バー コントロールに追加し、Style プロパティを Simple に設定した場合に表示される文字列を、SimpleText プロパティを使用して追加します。ステータス バー コントロールの表示状態は、Style プロパティを Simple または Normal に切り替え、SimpleText プロパティの文字列を表示します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ステータス バー コントロールをクリックします。

Private Sub Form_Load()

Dim I As Integer

For I = 1 to 2

StatusBar1.Panels.Add

Next I

With StatusBar1.Panels

.Item(1).Style = sbrDate	' Panel オブジェクトの Style プロパティに日付を設定します。

.Item(2).Style = sbrCaps	' Panel オブジェクトの Style プロパティに CapsLock キーを設定します。

.Item(3).Style = sbrScrl	' Panel オブジェクトの Style プロパティに ScrollLock キーを設定します。

End With

StatusBar1.SimpleText = Time	' 時刻を表示します。

End Sub

Private Sub StatusBar1_Click()

With StatusBar1

If .Style = sbrNormal Then

.Style = sbrSimple	' Simple

Else

.Style = sbrNormal	' Normal

End If

End With

End Sub


Style プロパティ (Panel オブジェクト)

関連項目	例

ステータス バー コントロールの Panel オブジェクトのスタイルを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Style [= number]

Style プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

number	Panel オブジェクトのスタイルを指定する整数または定数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

sbrText	0	(既定値) 文字列およびビットマップ。文字列は Text プロパティで設定します。

sbrCaps	1	CapsLock キー。CapsLock キーがオンの場合、“CAPS”の文字が表示され、オフの場合は淡色表示されます。

sbrNum	2	NumLock キー。NumLock キーがオンの場合、“NUM”の文字が表示され、オフの場合は淡色表示されます。

sbrIns	3	Ins キー。Ins キーがオンの場合、“INS”の文字が表示され、オフの場合は淡色表示されます。

sbrScrl	4	ScrollLock キー。ScrollLock キーがオンの場合、“SCRL”の文字が表示され、オフの場合は淡色表示されます。

sbrTime	5	時刻。現在の時刻をシステムで設定された形式で表示します。

sbrDate	6	日付。現在の日付をシステムで設定された形式で表示します。

7	カナキー。カナキーがオンの場合、“KANA”の文字が表示され、オフの場合は淡色表示されます。

解説

Style プロパティを、0 (文字列およびビットマップ) 以外のスタイルに設定すると、Text プロパティで設定した文字列は、Style プロパティを 0 に設定するまで表示されません。

Style プロパティは、コレクションに Panel オブジェクトを追加するときに設定できます。詳細については、「Add メソッド」を参照してください。

注   ステータス バー コントロールにも Style プロパティがあります。ステータス バー コントロールの Style プロパティを Simple に設定している場合、コントロールは 1 つの大きなパネル、および SimpleText プロパティで設定した文字列だけを表示します。


関連項目

Add メソッド (Panels コレクション)

SimpleText プロパティ

ステータス バー コントロールの定数

Style プロパティ (ステータス バー コントロール)


Style プロパティの例 (Panel オブジェクト)

次のプログラムでは、各種スタイルのデータをステータス バー コントロール上に表示します。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付け、プログラムを実行します。

Private Sub Form_Load()

' 変数を宣言します。

Dim I as Integer

Dim pnlX as Panel

For I = 1 to 5	' 5 個のパネルを追加します。

Set pnlX = StatusBar1.Panels.Add( )

Next I

' 各パネルのスタイルを設定します。

With StatusBar1.Panels

.Item(1).Style = sbrDate 	' 日付を設定します。

.Item(2).Style = sbrTime 	' 時刻を設定します。

.Item(3).Style = sbrCaps 	' CapsLock キーを設定します。

.Item(4).Style = sbrNum	' NumLock キーを設定します。

.Item(5).Style = sbrIns 	' Ins キーを設定します。

.Item(6).Style = sbrScrl 	' ScrollLock キーを設定します。

End With

Form1.Width = 9140 ' フォームの幅を広げてすべてのパネルを表示します。

End Sub


Width プロパティ (Panel オブジェクト)

関連項目	例

ステータス バー コントロールの Panel オブジェクトの現在の幅を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Width[= number]

Width プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Panel オブジェクトへの参照を表すオブジェクト式を指定します。

number	Panel オブジェクトの幅を整数で指定します。

解説

Width プロパティは、常に Panel オブジェクトの実際の幅を表します。Width プロパティおよび MinWidth プロパティは、AutoSize プロパティを Spring に設定し、ステータス バーに余分な領域がある場合にのみ異なります。この場合、Panel オブジェクトの幅は広がります。

Width プロパティの値は、MinWidth プロパティの値より小さくなることはありません。


関連項目

AutoSize プロパティ (Panel オブジェクト)

MinWidth プロパティ

Panel オブジェクト、Panels コレクション

ステータス バー コントロール


Width プロパティの例 (Panel オブジェクト)

次のプログラムでは、3 つの Panel オブジェクトを作成し、これらのオブジェクトの Width プロパティに異なる値を設定します。フォーム上でクリックすると、先頭の Panel オブジェクトの Width プロパティが再設定されます。このプログラムを実行するには、フォーム上にステータス バー コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、各パネルをクリックしてその幅を表示します。

Private Sub Form_Load()

Dim X As Panel

Dim I as Integer

For I = 1 to 2	' 2 つのパネルを追加します。

Set X = StatusBar1.Panels.Add()

Next I

With StatusBar1.Panels

.Item(1).Text = "Path = " & App.Path

.Item(1).AutoSize = sbrContents	' AutoSize プロパティを Content に設定します。

.Item(1).Width = 5000	' 幅を変更します。

.Item(2).Text = "Record Field"

.Item(2).AutoSize = sbrSpring	' AutoSize プロパティを Spring に設定します。

.Item(2).Width = 1000	' 幅を変更します。

.Item(3).Style = sbrTime	' 時刻を設定します。

.Item(3).AutoSize = sbrSpring	' AutoSize プロパティを Spring に設定します。

.Item(3).Width = 1000	' 幅を変更します。

End With

End Sub

Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)

MsgBox Panel.Width	' 各 Panel オブジェクトをクリックして、その幅を表示します。

End Sub

Private Sub Form_Click()

' 幅を変更します。

StatusBar1.Panels(1). Width = 800

End Sub


Panels キーワード

Panels キーワードは、次のコンテキストで使用されます。

Panels コレクション

Panels プロパティ


 タブ ストリップ コントロール

関連項目	プロパティ	メソッド	イベント	定数

タブ ストリップ コントロールは、システム手帳の仕切りページのような機能を持ちます。タブ ストリップ コントロールを使用すると、アプリケーションのウィンドウまたはダイアログ ボックスの、同一領域に対して複数のページを定義できます。

構文

TabStrip

解説

タブ ストリップ コントロールは、Tabs コレクションの 1 つ以上の Tab オブジェクトで構成されます。Tab オブジェクトの外観は、デザイン時および実行時にプロパティを設定して指定できます。また、実行時には、メソッドを呼び出して Tab オブジェクトを追加および削除することができます。

タブ ストリップ コントロールの Style プロパティを設定して、タブ ストリップ コントロールの外観をプッシュ ボタン (Buttons) またはシステム手帳の仕切り (Tabs) のどちらか指定します。デザイン時に、フォーム上にタブ ストリップ コントロールを配置すると、タブ ストリップ コントロールには 1 つのタブ (仕切り) が含まれます。Style プロパティに Tabs を設定すると、タブ ストリップ コントロールの内部領域は立体表示の境界線で定義されます。Style プロパティに Buttons を設定すると、内部領域の境界線は表示されませんが、内部領域は存在します。

タブ ストリップ コントロールの全体の大きさを設定するには、Top、Left、Height、および Width の各プロパティを設定します。Visual Basic では、実行時のコントロールの全体の大きさに基づいて内部領域の大きさおよび位置が自動的に決定され、クライアント座標関連のプロパティ (ClientLeft、ClientTop、ClientHeight、および ClientWidth) が設定されます。MultiRow プロパティでは、タブ ストリップ コントロールに複数のタブ行を表示するかどうかを決定し、TabWidthStyle プロパティでは各行の外観を指定します。TabWidthStyle プロパティに Fixed を設定している場合、TabFixedHeight プロパティおよび TabFixedWidth プロパティを使用して、タブ ストリップ コントロールのすべてのタブに同一の高さおよび幅を設定できます。

タブ ストリップ コントロールは、コンテナではありません。実際に表示するページおよびそのオブジェクトを格納するには、タブ ストリップ コントロールのすべての Tab オブジェクトが共有する内部領域の大きさに一致する、ピクチャ ボックス (PictureBox) コントロールまたは他のコンテナを使用する必要があります。コンテナとしてコントロール配列を使用すると、配列の各項目を特定の Tab オブジェクトに関連付けることができます。次に例を示します。

' 選択したタブのコンテナ (ピクチャ ボックス) を最前面に配置します。

Picture1(TabStrip1.SelectedItem.Index - 1).ZOrder 0

タブ ストリップ コントロールの Tabs プロパティは、すべての Tab オブジェクトのコレクションです。各 Tab オブジェクトには、現在の状態および外観に関連するプロパティがあります。たとえば、イメージ リスト コントロールをタブ ストリップ コントロールに関連付けると、それぞれのタブ上でイメージを使用できます。ボタン名を各 Tab オブジェクトに関連付けることもできます。

配布時の注意   タブ ストリップ コントロールは 32 ビットのカスタム コントロールで、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、タブ ストリップ コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでタブ ストリップ コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については『プログラミング ガイド』を参照してください。


関連項目

イメージ リスト コントロール

SelectedItem プロパティ

Selected プロパティ

Tab オブジェクト、Tabs コレクション

ZOrder メソッド


タブ ストリップ コントロールのプロパティ

ClientHeight プロパティ

ClientLeft プロパティ

ClientTop プロパティ

ClientWidth プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Font プロパティ

Height プロパティ

HelpContextID プロパティ

hWnd プロパティ

ImageList プロパティ

Index プロパティ

Left プロパティ

MouseIcon プロパティ

MousePointer プロパティ

MultiRow プロパティ

Name プロパティ

Object プロパティ

Parent プロパティ

SelectedItem プロパティ

ShowTips プロパティ

Style プロパティ

TabFixedHeight プロパティ

TabFixedWidth プロパティ

TabIndex プロパティ

Tabs プロパティ

TabStop プロパティ

TabWidthStyle プロパティ

Tag プロパティ

Top プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ


タブ ストリップ コントロールのメソッド

Drag メソッド

Move メソッド

Refresh メソッド

SetFocus メソッド

ShowWhatsThis メソッド

ZOrder メソッド


タブ ストリップ コントロールのイベント

BeforeClick イベント

Click イベント

DragDrop イベント

DragOver イベント

GotFocus イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント


Tab オブジェクト、Tabs コレクション

関連項目	プロパティ	メソッド

Tabs コレクションは、タブ ストリップ コントロールのすべての Tab オブジェクトの集まりです。Tab オブジェクトは、システム手帳の仕切りページに類似しています。

重要   このオブジェクトは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

tabstrip.Tabs
tabstrip.Tabs(index)

標準のコレクション構文に従って、コレクションおよびコレクションの個別の要素をそれぞれ参照します。

Tab オブジェクトおよび Tabs コレクションの構文の指定項目は次のとおりです。

指定項目	内容

tabstrip	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

index	Tabs コレクションの固有のメンバを識別する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

各 Tab オブジェクトには、さまざまなプロパティを使用してその外観を指定できます。また、Selected プロパティでその状態を指定することもできます。

デザイン時には、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [タブ] タブの [タブの挿入] ボタンおよび [タブの削除] ボタンを使用して、タブを挿入および削除します。また、テキスト ボックスを使用して、Tab オブジェクトの Caption、Image、ToolTipText、Tag、Index、および Key の各プロパティを設定します。これらのプロパティは、実行時にも設定できます。

タブ上のアイコンにラベルを付けたり配置したりするには、Caption プロパティおよび Image プロパティを個別に、または一緒に使用します。

Caption プロパティを設定するには、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [タブ] タブの [Caption] テキスト ボックスに、タブまたはボタン上に実行時に表示されるテキストを入力します。

Image プロパティを設定するには、フォーム上にイメージ リスト コントロールを配置し、ListImage オブジェクトを含む ListImages コレクションを作成します。ListImage オブジェクトにはそれぞれインデックス番号があります。[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [全般] タブで、そのイメージ リスト コントロールを選択してタブ ストリップ コントロールに関連付けます。[タブ] タブの [Image] テキスト ボックスに、Tab オブジェクト上に表示される ListImage オブジェクトのインデックス番号を入力します。

実行時に、ユーザーのカーソルがタブ上で停止している場合に、小さな四角形のボックスにテキストの文字列を一時的に表示するには、ToolTipText プロパティを使用します。デザイン時に ToolTipText プロパティを設定するには、[全般] タブで [ShowTips] チェック ボックスをオンにし、[タブ] タブの [ToolTipText] テキスト ボックスに、ボタン名の文字列を入力します。

実行時には、Index プロパティまたは Key プロパティを使用して、Tabs コレクションから Tab オブジェクトを取得します。

選択した Tab オブジェクトへの参照を返すには、SelectedItem プロパティを使用します。また、特定のタブが選択されたかどうかを調べるには、Selected プロパティを使用します。これらのプロパティを、BeforeClick イベントと共に使用すると、ユーザーが選択する次のタブを表示する前に、現在選択されているタブに関連するデータを確認または記録するのに効果的です。

各 Tab オブジェクトには、Tabs コレクションの 1 つの Tab オブジェクトを参照するのに使用できる読み取り専用のプロパティ、Left、Top、Height、および Width があります。

Tabs コレクションは、Count プロパティを使用して、コレクションのタブ数を返します。Tabs コレクションの Tab オブジェクトを操作するには、実行時に次のメソッドを使用します。

Add メソッドの場合
タブ ストリップ コントロールに Tab オブジェクトを追加します。

Item メソッドの場合
Key プロパティまたは Index プロパティで特定される Tab オブジェクトをコレクションから取得します。

Clear メソッドの場合
コレクションからすべての Tab オブジェクトを削除します。

Remove メソッドの場合
Key プロパティまたは Index プロパティで特定される Tab オブジェクトをコレクションから削除します。


関連項目

SelectedItem プロパティ

タブ ストリップ コントロール


Tab オブジェクト、Tabs コレクションのプロパティ

凡例

Caption プロパティ

Count プロパティ

Height プロパティ

Image プロパティ

Index プロパティ

Left プロパティ

Key プロパティ

Selected プロパティ

Tag プロパティ

ToolTipText プロパティ

Top プロパティ

Width プロパティ


Tab オブジェクト、Tabs コレクションのメソッド

凡例

Add メソッド

Clear メソッド

Item メソッド

Remove メソッド


タブ ストリップ コントロールの定数

関連項目

TabStyle 定数

定数	値	内容

tabTabs	0	コントロールはシステム手帳の仕切りのように表示され、内部領域は立体表示の境界線で囲まれます。

tabButtons	1	コントロールはプッシュ ボタンのように表示され、内部領域を囲む境界線はありません。

TabWidthStyle 定数

定数	値	内容

tabJustified	0	各タブにはその内容を表示する十分な幅があります。各タブの幅は必要に応じて増加し、各タブ行の幅がタブ ストリップ コントロールの幅と同じになるまで広がります。タブ行が 1 行だけの場合、このスタイルは無効です。

tabNonJustified	1	各タブにはちょうどその内容を表示するだけの幅があります。行は均等に割り付けられないため、複数のタブ行は両端が揃いません。

tabFixed	2	すべてのタブの高さおよび幅は同一で、TabFixedHeight プロパティおよび TabFixedWidth プロパティで設定できます。


関連項目

MultiRow プロパティ

Style プロパティ (タブ ストリップ コントロール)

TabFixedHeight、TabFixedWidth プロパティ

Tab オブジェクト、Tabs コレクション

タブ ストリップ コントロール

TabWidthStyle プロパティ


Add メソッド (Tabs コレクション)

関連項目	例

タブ ストリップ コントロールの Tabs コレクションに、Tab オブジェクトを追加します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Add(index, key, caption, image)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	Tabs コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。Tab オブジェクトを挿入する位置を表す整数で指定します。引数 index を指定しない場合は、Tab オブジェクトは Tabs コレクションの末尾に追加されます。

key	省略可能です。Item メソッドで Tab オブジェクトを取得するとき、または Remove メソッドで Tab オブジェクトを削除するときに使用する重複しない文字列を指定します。

caption	省略可能です。Tab オブジェクトに表示される文字列を指定します。

image	省略可能です。関連するイメージ リスト コントロールのイメージのインデックスを指定します。このイメージがタブに表示されます。

解説

デザイン時に、タブ ストリップ コントロールにタブを追加するには、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [タブ] タブの [タブの挿入] ボタンをクリックし、新しいタブについて必要なフィールドを入力します。

実行時に、タブ ストリップ コントロールにタブを追加するには、新しく挿入された Tab オブジェクトへの参照を返す Add メソッドを使用します。次のコードでは、引数 caption に“Howdy!”、引数 key に“MyTab”を指定し、2 番めのタブ (引数 index に 2 を指定) として追加します。

Set X = TabStrip1.Tabs.Add(2,"MyTab","Howdy!")


関連項目

Caption プロパティ (Tabs オブジェクト)

Clear メソッド

Image プロパティ

Index プロパティ

Item メソッド

Key プロパティ

Remove メソッド

Tab オブジェクト、Tabs コレクション


Add メソッドの例 (Tabs コレクション)

次のプログラムでは、それぞれキャプションおよびイメージ リスト コントロールからのイメージを含む 3 つの Tab オブジェクトを、タブ ストリップ コントロールに追加します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびタブ ストリップ コントロールを配置します。イメージ リスト コントロールは、Tab オブジェクトにイメージを提供します。このフォーム モジュールのコード ウィンドウに次のコードを貼り付け、プログラムを実行します。

Private Sub Form_Load()

Dim X As Integer

Set TabStrip1.ImageList = ImageList1

TabStrip1.Tabs(1).Caption = "Time"

TabStrip1.Tabs.Add 2, , "Date"

TabStrip1.Tabs.Add 3, , "Mail"

For X = 1 To TabStrip1.Tabs.Count

TabStrip1.Tabs(X).Image = X

Next X

End Sub


BeforeClick イベント

関連項目	例

タブ ストリップ コントロールの Tab オブジェクトがクリックされたとき、または Tab オブジェクトの Selected プロパティの設定が変更されたときに発生します。

重要   このイベントは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_BeforeClick(cancel As Integer)

BeforeClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

cancel	(初期値) 0。操作を取り消すかどうかを決定する整数を指定します。0 以外の値を指定すると取り消されます。

解説

現在選択している Tab オブジェクトについての情報を確認してから、次の Tab オブジェクトを選択して Click イベントを実際に発生させるには、BeforeClick イベントを使用します。引数 cancel によって、新しい Tab オブジェクトの選択を中止することができます。


関連項目

Click イベント

SelectedItem プロパティ

タブ ストリップ コントロール


BeforeClick イベントの例

次のプログラムでは、BeforeClick イベントを使用して Click イベントの前に処理を行います。この方法は、新しく選択されたタブを表示する前に、現在のタブについての情報を確認する場合に役立ちます。

このプログラムを実行するには、フォーム上にタブ ストリップ コントロールおよび 2 つの要素を含むピクチャ ボックス (PictureBox) コントロールのコントロール配列を配置します。先頭のピクチャ ボックス コントロールにチェック ボックス (CheckBox) コントロールを、2 番めのピクチャ ボックス コントロールにテキスト ボックス (TextBox) コントロールを追加します。このフォーム モジュールのコード ウィンドウに次のコードを貼り付け、プログラムを実行します。Check というラベルの付いたタブ上で、チェック ボックスをオン/オフし、Text というラベルが付いたタブをクリックします。

Private Sub Form_Load()

Dim i As Integer

Dim Tabx As Object

' 先頭のタブのキャプションに "Check" を設定します。

TabStrip1.Tabs(1).Caption = "Check"

' 2 番めのタブの Caption プロパティに "Text" を設定して追加します。

Set Tabx = TabStrip1.Tabs.Add(2, , "Text")

' チェック ボックス コントロールにラベルを付けます。

Check1.Caption = "Cancel tab switch"

' ピクチャ ボックス コントロールを、タブ ストリップ コントロールの内部領域に

' 合わせて配置します。

For i = 0 To 1

Picture1(i).Left = TabStrip1.ClientLeft

Picture1(i).Top = TabStrip1.ClientTop

Picture1(i).Height = TabStrip1.ClientHeight

Picture1(i).Width = TabStrip1.ClientWidth

Next

' 先頭のタブのコンテナ (ピクチャ ボックス) を最前面に配置します。

Picture1(0).ZOrder 0

End Sub

' BeforeClick イベントでチェック ボックスの値を確認し、

' Click イベントを発生させるかどうかを判断します。

Private Sub TabStrip1_BeforeClick(Cancel As Integer)

If TabStrip1.Tabs(1).Selected Then

If Check1.Value = 1 Then Cancel = True

End If

End Sub

Private Sub TabStrip1_Click()

Picture1(TabStrip1.SelectedItem.Index-1).ZOrder 0

End Sub


Caption プロパティ (Tab オブジェクト)

関連項目	例

タブ ストリップ コントロールの Tab オブジェクトのタブまたはボタンに表示されるキャプションを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Caption [= string]

Caption プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Tab オブジェクトへの参照を表すオブジェクト式を指定します。

string	キャプションとして表示される文字列を文字列式で指定します。

解説

Caption プロパティは、デザイン時または実行時に、タブ ストリップ コントロールの Tab オブジェクトに対して設定できます。

デザイン時
[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [タブ] タブの [Caption] テキスト ボックスにキャプションの文字列を入力します。

実行時
次のようにキャプションを設定します。

TabStrip1.Tabs(1).Caption = "First Tab"

または

TabStrip1.Tabs.Add 2, , "Second Tab"


関連項目

Add メソッド (Tabs コレクション)

Image プロパティ

Tab オブジェクト、Tabs コレクション

タブ ストリップ コントロール


Caption プロパティの例 (Tab オブジェクト)

次のプログラムでは、3 つの Tab オブジェクトをタブ ストリップ コントロールに追加し、各 Tab オブジェクトの Caption プロパティを設定します。キャプションの文字列は“Time”、“Date”、および“Mail”です。各 Tab オブジェクトは、イメージ リスト コントロールからのイメージも表示します。このプログラムを実行するには、フォーム上にイメージ リスト コントロールおよびタブ ストリップ コントロールを配置し、次にそのイメージ リスト コントロールに 3 つのサンプル ビットマップを配置します。イメージ リスト コントロールは、Tab オブジェクトにイメージを提供します。このフォーム モジュールのコード ウィンドウに次のコードを貼り付け、プログラムを実行します。

Private Sub Form_Load()

Dim X As Integer

' イメージ リスト コントロールをタブ ストリップ コントロールに関連付けます。

Set TabStrip1.ImageList = ImageList1

' キャプションを設定します。

Set TabStrip1.Tabs(1).Caption = "Time"

TabStrip1.Tabs.Add 2, , "Date"

TabStrip1.Tabs.Add 3, , "Mail"

For X = 1 To TabStrip1.Tabs.Count

' イメージをタブに関連付けます。

TabStrip1.Tabs(X).Image = X

Next X

End Sub


ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

関連項目	例

タブ ストリップ コントロールの内部領域 (表示領域) の座標を返します。実行時には値の取得のみ可能です。デザイン時には使用できません。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.ClientHeight

object.ClientWidth

object.ClientLeft

object.ClientTop

引数 object には、タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

解説

クライアント座標関連のプロパティ (ClientLeft、ClientTop、ClientHeight、および ClientWidth) には、実行時に、タブ ストリップ コントロールのすべての Tab オブジェクトが共有するタブ ストリップ コントロールの内部領域の座標が格納されます。Tab オブジェクトを選択した場合に、その Tab オブジェクトに関連付けられているコントロールを表示するには、Tab オブジェクトのコントロールを、大きさおよび位置がクライアント座標関連のプロパティの値と一致するピクチャ ボックス (PictureBox) コントロールなどのコンテナに配置します。コンテナおよびそのコンテナに含まれるコントロールを Tab オブジェクトに関連付けるには、ピクチャ ボックス コントロール配列などのコントロール配列を作成します。

クライアント座標関連のプロパティは、親フォームの座標系を使用します。ピクチャ ボックス コントロールの大きさをタブ ストリップ コントロールの内部領域に完全に一致させるには、次のコードを使用します。

Picture1.Left = TabStrip1.ClientLeft

Picture1.Top = TabStrip1.ClientTop

Picture1.Width = TabStrip1.ClientWidth

Picture1.Height = TabStrip1.ClientHeight

タブを選択した場合、選択したタブおよびそのタブに関連するコンテナを最前面に配置するには、次の操作を行います。

1.	タブ ストリップ コントロールの内部領域でのコンテナの大きさおよび位置をクライアント座標関連のプロパティに設定します。

2.	次のいずれかの方法で特定のオブジェクトを表示します。

Visible プロパティをコードで記述し、タブ固有のコンテナおよびそのコントロールを、手動で表示および非表示できるようにします。

ZOrder メソッドを使用して、特定のコントロールの Z オーダーを変更します。


関連項目

Tab オブジェクト、Tabs コレクション

タブ ストリップ コントロール

Visible プロパティ

ZOrder メソッド


ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティの例

次のプログラムでは、クライアント座標関連のプロパティ (ClientLeft、ClientTop、ClientWidth、および ClientHeight) を、ピクチャ ボックス (PictureBox) コントロール配列と共に使用し、タブを切り替えたときにタブ ストリップ コントロールの内部領域にあるタブ固有のオブジェクトを表示します。この例では ZOrder メソッドを使用して、該当するピクチャ ボックス コントロールおよびピクチャ ボックス コントロールに格納されているオブジェクトを表示します。

このプログラムを実行するには、フォーム上にタブ ストリップ コントロールおよびコントロール配列にした 3 つのピクチャ ボックス コントロールを配置します。1 つめのピクチャ ボックス コントロールにはチェック ボックス (CheckBox) コントロールを、2 つめのピクチャ ボックス コントロールにはコマンド ボタン (CommandButton) コントロールを、3 つめのピクチャ ボックス コントロールにはテキスト ボックス (TextBox) コントロールを配置します。このフォーム モジュールのコード ウィンドウに次のコードを貼り付け、プログラムを実行します。各タブをクリックしてタブおよびその内容を選択します。

Private Sub Form_Load()

Dim Tabx As Object

Dim i As Integer

' 先頭のタブのキャプションに "Check" を設定します。

TabStrip1.Tabs(1).Caption = "Check"

' 2 番めのタブを追加し、キャプションに "Command" を設定します。

Set Tabx = TabStrip1.Tabs.Add(2, , "Command")

' 3 番めのタブを追加し、キャプションに "Text" を設定します。

Set Tabx = TabStrip1.Tabs.Add(3, , "Text")

' ピクチャ ボックス コントロールを、タブ ストリップ コントロールの内部領域に

' 合わせて配置します。

For i = 0 To 2

Picture1(i).Left = TabStrip1.ClientLeft

Picture1(i).Top = TabStrip1.ClientTop

Picture1(i).Height = TabStrip1.ClientHeight

Picture1(i).Width = TabStrip1.ClientWidth

Next

' 起動時に、先頭のタブのコンテナ (ピクチャ ボックス) を

' 最前面に配置します。

Picture1(0).ZOrder 0

End Sub

Private Sub TabStrip1_Click()

Picture1(TabStrip1.SelectedItem.Index - 1).ZOrder 0

End Sub


MultiRow プロパティ

関連項目

タブ ストリップ コントロールに複数のタブ行を表示できるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.MultiRow [= boolean]

MultiRow プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

boolean	タブ ストリップ コントロールが複数のタブ行を持つかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	複数のタブ行を表示できます。

False	タブ行は 1 行のみ表示できます。

解説

行数は、タブの幅および個数によって自動的に設定されます。行数は、コントロールの大きさを変更した場合にも変更され、タブが次の行に折り返されます。MultiRow プロパティに偽 (False) を設定して最後のタブがコントロールの幅を超えた場合、タブ ストリップ コントロールの端にスピン ボタン コントロールが追加されます。

デザイン時には、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [全般] タブで MultiRow プロパティを設定します。実行時には、コードを使用して次のように MultiRow プロパティを設定します。

'タブ ストリップ コントロールで複数のタブ行を使用します。

TabStrip1.MultiRow = TRUE


関連項目

ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

TabFixedHeight、TabFixedWidth プロパティ

タブ ストリップ コントロール

タブ ストリップ コントロールの定数

TabWidthStyle プロパティ


Style プロパティ (タブ ストリップ コントロール)

関連項目

タブ ストリップ コントロールの外観にタブまたはボタンを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Style [= value]

Style プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

value	タブ付きのダイアログ ボックスの外観を定数または整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 value の設定値は次のとおりです。

定数	値	内容

tabTabs	0	(既定値) コントロールはシステム手帳の仕切りのように表示され、内部領域は立体表示の境界線で囲まれます。

tabButtons	1	コントロールは標準のプッシュ ボタンのように表示され、内部領域を囲む境界線はありません。

解説

デザイン時には、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [全般] タブの [Style] ボックスから、Style プロパティに指定するタブまたはボタンを選択します。

実行時には、次のようなコードを使用して Style プロパティを設定します。

' Style プロパティでタブ スタイルを設定します。

TabStrip1.Style = tabTabs

' Style プロパティでボタン スタイルを設定します。

TabStrip1.Style = tabButtons


関連項目

ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

MultiRow プロパティ

TabFixedHeight、TabFixedWidth プロパティ

タブ ストリップ コントロール

タブ ストリップ コントロールの定数

TabWidthStyle プロパティ


Tabs プロパティ (タブ ストリップ コントロール)

関連項目

タブ ストリップ コントロールの Tab オブジェクトのコレクションへの参照を返します。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Tabs(index)

Tabs プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

index	Tabs コレクションに含まれる Tab オブジェクトを識別する値を指定します。

解説

Tabs コレクションは、Item メソッドなどのコレクションに標準で用意されているメソッドを使用して参照することができます。


関連項目

Add メソッド (Tabs コレクション)

Clear メソッド (コレクション オブジェクト)

Index プロパティ

Item メソッド

Key プロパティ

Remove メソッド

Tab オブジェクト、Tabs コレクション

タブ ストリップ コントロール


TabFixedHeight、TabFixedWidth プロパティ

関連項目

TabWidthStyle プロパティが Fixed に設定されている場合のみ、タブ ストリップ コントロールの Tab オブジェクトすべてに固定の高さおよび幅を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.TabFixedHeight [= integer]

object.TabFixedWidth [= integer]

TabFixedHeight プロパティおよび TabFixedWidth プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

integer	タブ ストリップ コントロールの高さまたは幅を、ピクセル数または twip 数で指定します。

解説

TabFixedHeight プロパティは、タブ ストリップ コントロールのすべての Tab オブジェクトに適用します。TabFixedHeight プロパティの既定値は、Font プロパティに指定するフォントの高さ、または Image プロパティに指定する ListImage オブジェクトの高さのどちらか大きい値に、境界線として余分なピクセルを多少加えた値になります。TabWidthStyle プロパティを Fixed に設定し、TabFixedWidth プロパティの値を設定する場合、Tab オブジェクトの追加または削除を行っても、各 Tab オブジェクトの幅は変更されません。


関連項目

ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

Font プロパティ

Image プロパティ

ImageList プロパティ

タブ ストリップ コントロール

タブ ストリップ コントロールの定数

TabWidthStyle プロパティ


TabWidthStyle プロパティ

関連項目

タブ ストリップ コントロールのすべての Tab オブジェクトの幅を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.TabWidthStyle [=value]

TabWidthStyle プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	タブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

value	タブを均等に割り付けるかまたは固定の幅に設定するかを決定する整数または定数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 value の設定値は次のとおりです。

定数	値	内容

tabJustified	0	(既定値) 均等割り付け。MultiRow プロパティが真 (True) に設定されている場合、各タブにはその内容を表示する十分な幅があります。各タブの幅は必要に応じて増加し、各タブ行の幅がコントロールの幅と同じになるまで広がります。MultiRow プロパティが偽 (False) に設定されている場合、またはタブ行が 1 行だけの場合、この設定は無効です。

tabNonJustified	1	均等割り付けなし。各タブにはちょうどその内容を表示するだけの幅があります。行は均等に割り付けられないため、複数のタブ行は両端が揃いません。

tabFixed	2	固定。すべてのタブは、TabFixedWidth プロパティで設定される同一の幅を持ちます。

解説

デザイン時には、[タブストリップ コントロールのプロパティ] ダイアログ ボックスの [全般] タブで、TabWidthStyle プロパティを設定できます。TabWidthStyle プロパティでは、実行時に表示される各 Tab オブジェクトの幅を設定します。

実行時には、次のようにコードを記述して TabWidthStyle プロパティを設定することができます。

' 行のすべてのタブをコントロールの幅に合わせて均等に割り付けます。

TabStrip1.MultiRow = True

TabStrip1.TabWidthStyle = tabJustified

' 両端が揃っていないタブ行を作成します。

TabStrip1.MultiRow = True

TabStrip1.TabWidthStyle = tabNonJustified

' すべて同一の幅を持つタブを設定します。

TabStrip1.TabFixedWidth = 500

TabStrip1.TabWidthStyle = tabFixed


関連項目

ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

MultiRow プロパティ

TabFixedHeight、TabFixedWidth プロパティ

タブ ストリップ コントロール


Tabs キーワード

Tabs キーワードは、次のコンテキストで使用されます。

Tabs コレクション

Tabs プロパティ (タブ ストリップ コントロール)


 ツールバー コントロール

関連項目	プロパティ	メソッド	イベント	定数	例

ツールバー コントロールを使用すると、アプリケーションに関連したツールバーを作成することができます。ツールバー コントロールは、Button オブジェクトのコレクションで構成されます。

構文

Toolbar

解説

一般にツールバーは、アプリケーションのメニュー コマンドに対応するボタンで構成され、アプリケーションで頻繁に使用される機能およびコマンドを簡単に実行できる視覚的なインターフェイスです。

ツールバー コントロール では、Button オブジェクトを Buttons コレクションに追加することで、ツールバーを作成していきます。各 Button オブジェクトには、任意にテキストまたはイメージを設定できます。イメージは、Button オブジェクトに関連付けたイメージ リスト コントロールによって提供されます。各 Button オブジェクトについて、テキストは Caption プロパティで、イメージは Image プロパティで設定します。デザイン時には、[ツールバー コントロールのプロパティ] ダイアログ ボックスで、コントロールに Button オブジェクトを追加します。実行時には、Add メソッドおよび Remove メソッドを使用して、Buttons コレクションにボタンを追加および削除します。

ツールバー を作成するには、ButtonClick イベントを使用して、ユーザーの操作に対する各 Button オブジェクトの動作を記述します。また、各 Button オブジェクトの動作および外観は、Style プロパティで設定できます。たとえば、4 つのボタンに ButtonGroup を割り当てると、同時に押すことができるボタンは 1 つだけで、ほかのボタンが押されるまで状態はそのままです。

Button オブジェクトにプレースホルダ スタイルを割り当てることで、ツールバー上に別のコントロールを配置することができます。たとえば、デザイン時にツールバー上にコンボ ボックス (ComboBox) コントロールを配置する場合、プレースホルダ スタイルの Button オブジェクトを追加し、そのサイズをこれから配置するコンボ ボックス コントロールのサイズに合わせます。そして、コンボ ボックス コントロールを Button オブジェクトに配置します。

実行時にツールバーをダブルクリックすると、[ツールバーの変更] ダイアログ ボックスが呼び出され、ユーザーはツールバー ボタンの表示、非表示、または再配置を設定できます。Customize メソッドを使用して、[ツールバーの変更] ダイアログ ボックスを呼び出すこともできます。ダイアログ ボックスの有効または無効を指定するには、AllowCustomize プロパティを使用します。ツールバーの状態を保存および復元するには、SaveToolbar および RestoreToolbar の 2 つのメソッドを使用します。SaveToolbar メソッドを呼び出すには、ツールバーが変更されたときに発生する Change イベントを使用します。

各 Button オブジェクトの ToolTipText プロパティを設定すると、ツールバーはより使いやすくなります。ボタン名を表示するには、ShowTips プロパティを真 (True) に設定する必要があります。ユーザーが [ツールバーの変更] ダイアログ ボックスを表示しているとき、ボタンをクリックすると、ダイアログ ボックスにボタンの説明が表示されます。このタイトルは、Description プロパティを設定することによってプログラムできます。

配布時の注意   ツールバー コントロールは 32 ビットのカスタム コントロールで、Windows 95 および Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、ツールバー コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでツールバー コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。カスタム コントロールをプロジェクトに追加する方法の詳細については、『プログラミング ガイド』を参照してください。


関連項目

Add メソッド (Buttons コレクション)

Button オブジェクト、Buttons コレクション

イメージ リスト コントロール


ツールバー コントロールのプロパティ

Align プロパティ

AllowCustomize プロパティ

ButtonHeight プロパティ

Buttons プロパティ

ButtonWidth プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

Enabled プロパティ

Font プロパティ

Height プロパティ

hWnd プロパティ

ImageList プロパティ

Index プロパティ

Left プロパティ

MouseIcon プロパティ

MousePointer プロパティ

Name プロパティ

Negotiate プロパティ

Object プロパティ

Parent プロパティ

ShowTips プロパティ

TabIndex プロパティ

Tag プロパティ

Top プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ

Width プロパティ

Wrappable プロパティ


ツールバー コントロールのメソッド

Customize メソッド

Drag メソッド

Move メソッド

Refresh メソッド

RestoreToolbar メソッド

SaveToolbar メソッド

ShowWhatsThis メソッド

ZOrder メソッド


ツールバー コントロールのイベント

ButtonClick イベント

Change イベント (ツールバー コントロール)

Click イベント

DblClick イベント

DragDrop イベント

DragOver イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント


ツールバー コントロールの例

次のプログラムでは、Add メソッドを使用して、複数の Button オブジェクトをツールバー コントロールに追加します。Button オブジェクトのイメージは、イメージ リスト コントロールで提供されます。それぞれのボタンの動作は、Style プロパティで定義されます。また、コードでは、リッチテキスト コントロールの操作を行うボタンを作成されます。作成されるボタンは次のとおりです。

ファイルを開く。

ファイルの保存。

テキストの配置設定。

フォントの色設定。

2 つのコマンド ボタンは、ツールバーの変更に使用されます。このプログラムを実行するには、フォーム上にツールバー、リッチテキスト ボックス、イメージ リスト、コモン ダイアログ、コンボ ボックス、および 2 つのコマンド ボタンの各コントロールを配置して、このフォーム モジュールのコード ウィンドウに下のコードを貼り付けます。

' SaveToolbar メソッドの定数を設定します。

Const SaveToolbarKey = 1

Const SaveToolbarSubKey = "MyToolbar"

Const SaveToolbarVal = "True"

Private Sub Form_Load()

' イメージ リスト コントロールのオブジェクト変数を作成します。

Dim imgX As ListImage

' イメージ リスト コントロールにピクチャをロードします。

Set imgX = ImageList1.ListImages. _

Add(, "open", LoadPicture("bitmaps\tlbr_w95\open.bmp"))	' 1

Set imgX = ImageList1.ListImages. _

Add(, "save", LoadPicture("bitmaps\tlbr_w95\save.bmp"))	' 2

Set imgX = ImageList1.ListImages. _

Add(, "left", LoadPicture("bitmaps\tlbr_w95\lft.bmp"))	' 3

Set imgX = ImageList1.ListImages. _

Add(, "right", LoadPicture("bitmaps\tlbr_w95\rt.bmp"))	' 4

Set imgX = ImageList1.ListImages. _

Add(, "center", LoadPicture("bitmaps\tlbr_w95\cnt.bmp"))  ' 5

Set imgX = ImageList1.ListImages. _

Add(, "justify", LoadPicture("bitmaps\tlbr_w95\jst.bmp")) ' 6

Set imgX = ImageList1.ListImages. _

Add(, "bold", LoadPicture("bitmaps\tlbr_w95\bld.bmp"))	' 7

Set imgX = ImageList1.ListImages. _

Add(, "italic", LoadPicture("bitmaps\tlbr_w95\Itl.bmp"))  ' 8

Toolbar1.ImageList = ImageList1

' ツールバー コントロールのオブジェクト変数を作成します。

Dim btnX As Button

' Add メソッドを使用して、Buttons コレクションにボタンを追加します。

' それぞれのボタンのプロパティを設定します。

Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)

Set btnX = Toolbar1.Buttons.Add(, "open", , tbrDefault, "open")

btnX.ToolTipText = "ファイルを開く"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, "save", , tbrDefault, "save")

btnX.ToolTipText = "ファイルの保存"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)

Set btnX = Toolbar1.Buttons.Add(, "left", , tbrButtonGroup,"left")

btnX.ToolTipText = "左寄せ"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(,"center", ,tbrButtonGroup,"center")

btnX.ToolTipText = "中央寄せ"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, "right", ,tbrButtonGroup,"right")

btnX.ToolTipText = "右寄せ"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)

Set btnX = Toolbar1.Buttons.Add(, "bold", , tbrCheck, "bold")

btnX.ToolTipText = "太字"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, "italic", , tbrCheck, "italic")

btnX.ToolTipText = "斜体"

btnX.Description = btnX.ToolTipText

Set btnX = Toolbar1.Buttons.Add(, , , tbrSeparator)

' 次のボタンには Placeholder を設定します。

' このボタンには、コンボ ボックスを配置します。

Set btnX = Toolbar1.Buttons.Add(, "combo1", , tbrPlaceholder)

btnX.Width = 2000 ' コンボ ボックスの幅に合わせます。

Show ' コンボ ボックスの設定を続けるためにフォームを表示します。

' Placeholder のボタンの位置にコンボ ボックス コントロールを配置します。

With Combo1

.Width = Toolbar1.Buttons("combo1").Width

.Top = Toolbar1.Buttons("combo1").Top

.Left = Toolbar1.Buttons("combo1").Left

.AddItem "黒" ' テキストの色をリストに追加します。

.AddItem "青"

.AddItem "赤"

.ListIndex = 0

End With

With Toolbar1

.Wrappable = True ' ボタンを折り返す設定にします。

' Command1 ボタン以外でツールバーの変更を行わない設定にします。

.AllowCustomize = False

End With

' コモン ダイアログ コントロールを設定します。

With CommonDialog1

.DefaultExt = ".rtf"

.Filter = "RTF file (*.RTF)|*.RTF"

End With

' ツールバーの下にコマンド ボタン 1 を配置します。

With Command1

.Left = Toolbar1.Buttons(2).Left

.Top = Toolbar1.Top + Toolbar1.Height + 100

.Width = 1500

.Height = 300

.Caption = "ツールバーの変更"

End With

' コマンド ボタン 2 をコマンド ボタン 1 の右側に配置します。

With Command2

.Left = Command1.Left + Command1.Width + 50

.Top = Command1.Top

.Width = 1500

.Height = 300

.Caption = "Restore Toolbar"

End With

' リッチテキスト ボックス コントロールのマージンをコントロール自体と同じ幅にします。

richtextbox1.RightMargin = richtextbox1.Width

End Sub

Private Sub Form_Resize()

' コンボ ボックス コントロールの設定を行います。

With Combo1

.Width = Toolbar1.Buttons("combo1").Width

.Top = Toolbar1.Buttons("combo1").Top

.Left = Toolbar1.Buttons("combo1").Left

End With

End Sub

Private Sub richtextbox1_SelChange()

' 挿入ポインタの位置が変更されたときに、

' ツールバーの状態をカーソル位置のテキストの属性に合わせて変更します。

' Select Case ステートメントを使用します。

' SelAlignment プロパティは、0、1、2、Null のいずれかの値を返します。

Select Case richtextbox1.SelAlignment

Case Is = rtfLeft ' 0

Toolbar1.Buttons("left").VALUE = tbrPressed

Case Is = rtfRight '1

Toolbar1.Buttons("right").VALUE = tbrPressed

Case Is = rtfCenter '2

Toolbar1.Buttons("center").VALUE = tbrPressed

Case Else ' Null -- 属性を特定できない場合です。

Toolbar1.Buttons("left").VALUE = tbrUnpressed

Toolbar1.Buttons("right").VALUE = tbrUnpressed

Toolbar1.Buttons("center").VALUE = tbrUnpressed

End Select

' SelBold プロパティは、0、-1、Null のいずれかの値を返します。

' Null の場合は、MixedState プロパティを真にします。

Select Case richtextbox1.SelBold

Case 0 ' 太字なし

Toolbar1.Buttons("bold").VALUE = tbrUnpressed

Case -1 ' 太字

Toolbar1.Buttons("bold").VALUE = tbrPressed

Case Else ' 両方の状態が混在しています。

Toolbar1.Buttons("bold").MixedState = True

End Select

' SelItalic プロパティは、0、-1、Null のいずれかの値を返します。

' Null の場合は、MixedState プロパティを真にします。

Select Case richtextbox1.SelItalic

Case 0 ' 斜体なし

Toolbar1.Buttons("italic").VALUE = tbrUnpressed

Case -1 ' 斜体

Toolbar1.Buttons("italic").VALUE = tbrPressed

Case Else ' 両方の状態が混在しています。

Toolbar1.Buttons("italic").MixedState = True

End Select

End Sub

Private Sub toolbar1_ButtonClick(ByVal Button As Button)

' Key プロパティを使用して動作を特定します。

Select Case Button.KEY

Case Is = "open"            ' ファイルを開く。

Dim strOpen As String   ' ファイル名を格納する文字列変数。

CommonDialog1.ShowOpen  ' [ファイルを開く] ダイアログ ボックスを表示します。

strOpen = CommonDialog1.filename ' ファイル名を取得します。

richtextbox1.LoadFile strOpen, 0 ' LoadFile メソッドを使用します。

Case Is = "save"              ' ファイルを保存する。

Dim strNewFile As String   ' ファイル名を格納する文字列変数。

CommonDialog1.ShowSave     ' [名前を付けてファイルの保存] ダイアログ ボックスを表示します。

strNewFile = CommonDialog1.filename ' ファイル名を取得します。

richtextbox1.SaveFile strNewFile, 0 ' SaveFile メソッドを使用します。

Case Is = "left"

richtextbox1.SelAlignment = rtfLeft

Case Is = "center"

richtextbox1.SelAlignment = rtfCenter

Case Is = "right"

richtextbox1.SelAlignment = rtfRight

Case Is = "bold"

' MixedState プロパティが真の場合、まず、このプロパティを偽にします。

If Button.MixedState = True Then

Button.MixedState = False

End If

' SelBold プロパティをトグル処理します。

richtextbox1.SelBold = Abs(richtextbox1.SelBold) - 1

Case Is = "italic"

' MixedState プロパティが真の場合、まず、このプロパティを偽にします。

If Button.MixedState = True Then

Button.MixedState = False

End If

' SelItalic プロパティをトグル処理します。

richtextbox1.SelItalic = Abs(richtextbox1.SelItalic) - 1

End Select

End Sub

Private Sub Combo1_Click()

' フォントの色を変更します。

With richtextbox1

Select Case Combo1.ListIndex

Case 0

.SelColor = vbBlack

Case 1

.SelColor = vbBlue

Case 2

.SelColor = vbRed

End Select

End With

' フォーカスをリッチテキスト ボックスに戻します。

richtextbox1.SetFocus

End Sub

Private Sub command1_Click()

' ツールバーの変更を行う前に、現在の状態を保存します。

With Toolbar1

.SaveToolbar SaveToolbarKey, SaveToolbarSubKey, SaveToolbarVal

.AllowCustomize = True ' AllowCustomize プロパティを必ず真にします。

.Customize     ' Customize メソッドは、変更のダイアログ ボックスを表示します。

.AllowCustomize = False ' 変更後、プロパティを戻します。

End With

End Sub

Private Sub Command2_Click()

' ツールバーの状態を戻します。

Toolbar1.RestoreToolbar SaveToolbarKey, _

SaveToolbarSubKey, SaveToolbarVal

End Sub


Button オブジェクト、Buttons コレクション

関連項目	プロパティ	メソッド

Button オブジェクト
イメージおよびキャプションで構成されます。任意に、イメージおよびキャプションを設定できます。

Buttons コレクション
ツールバー コントロールに使用する Button オブジェクトのコレクションです。

重要   このオブジェクトは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

toolbar.Buttons

toolbar.Buttons(index)

上の構文は、標準のコレクションの構文に従って、コレクションまたはコレクション内の個別の要素を参照します。

Button オブジェクトおよび Buttons コレクションの構文の指定項目は次のとおりです。

指定項目	内容

toolbar	ツールバー コントロールへの参照を表すオブジェクト式を指定します。

index	コレクション内のオブジェクトを識別する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

Buttons コレクションは、インデックスが 1 から始まるコレクションです。つまり、コレクションの Index プロパティが 1 から始まります。

コレクション内の各項目には、そのインデックスまたは固有のキーでアクセスできます。たとえば、コレクション内の 3 番目の Button オブジェクトへの参照を取得するには、次の構文を使用します。

Dim btnX As Button

' インデックス番号で参照します。

Set btnX = Toolbar1.Buttons(3)

' または、固有のキーで参照します。

Set btnX = Toolbar1.Buttons("third") ' キーを "third" とします。

' または Item メソッドで参照します。

Set btnX = Toolbar1.Buttons.Item(3)


関連項目

イメージ リスト コントロール

Index プロパティ

Key プロパティ

ツールバー コントロール


Button オブジェクト、Buttons コレクションのプロパティ

凡例

Caption プロパティ

Count プロパティ

Description プロパティ (Button オブジェクト)

Enabled プロパティ

Height プロパティ

Image プロパティ

Index プロパティ

Key プロパティ

Left プロパティ

MixedState プロパティ

Style プロパティ

Tag プロパティ

ToolTipText プロパティ

Top プロパティ

Value プロパティ

Visible プロパティ

Width プロパティ


Button オブジェクト、Buttons コレクションのメソッド

凡例

Add メソッド (Buttons コレクション)

Clear メソッド

Item メソッド

Remove メソッド


Add メソッド (Buttons コレクション)

関連項目

Buttons コレクションに Button オブジェクトを追加し、新しく作成されたオブジェクトへの参照を返します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Add(index, key, caption, style, image)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。Buttons コレクションへの参照を表すオブジェクト式を指定します。

index	省略可能です。Button オブジェクトの挿入位置を表す整数を指定します。index の指定を省略すると、Button は、Buttons コレクションの末尾に追加されます。

key	省略可能です。Button オブジェクトを識別する固有の文字列を指定します。この値は、特定の Button オブジェクトを取得する場合に使用します。

caption	省略可能です。Button オブジェクトの下に表示される文字列を指定します。

style	省略可能です。Button オブジェクトのスタイルを指定します。使用できるスタイルの詳細については、「Style プロパティ (Button オブジェクト)」を参照してください。

image	省略可能です。関連付けるイメージ リスト コントロール内の ListImage オブジェクトを、整数または固有のキーで指定します。

解説

デザイン時には、[ツールバー コントロールのプロパティ] ダイアログ ボックスの [ボタン] タブで、Button オブジェクトを追加できます。実行時には、Add メソッドを使用します。

イメージ リスト コントロールをツールバーに関連付けるには、ツールバー コントロールの ImageList プロパティを使用します。


関連項目

Caption プロパティ

イメージ リスト コントロール

ImageList プロパティ

Index プロパティ

Key プロパティ

Style プロパティ (Button オブジェクト)

ツールバー コントロール


AllowCustomize プロパティ

関連項目

アプリケーションのユーザーが、[ツールバーの変更] ダイアログ ボックスでツールバー コントロールの設定を変更できるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.AllowCustomize [= boolean]

AllowCustomize プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツールバー コントロールへの参照を表すオブジェクト式を指定します。

boolean	ユーザーがツールバー コントロールの設定を変更できるかどうかを、定数または値で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	ユーザーがツールバー コントロールをダブルクリックして、[ツールバーの変更] ダイアログ ボックスを表示することができます。このダイアログ ボックスで、ツールバー コントロールの設定を変更します。

False	ツールバー コントロールの設定を変更できません。

解説

AllowCustomize プロパティが真 (True) に設定されている場合、実行時にツールバー コントロールをダブルクリックすると、[ツールバーの変更] ダイアログ ボックスが表示されます。

Customize メソッドを使用して [ツールバーの変更] ダイアログ ボックスを表示することもできます。この場合も、メソッドを呼び出す前に AllowCustomize プロパティを真 (True) に設定する必要があります。


関連項目

Customize メソッド

RestoreToolbar メソッド

SaveToolbar メソッド

ツールバー コントロール


ButtonClick イベント

関連項目

ユーザーがツールバー コントロール内の Button オブジェクトをクリックすると発生します。

重要   このイベントは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_ButtonClick(ByVal button As Button)

ButtonClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ツールバー コントロールへの参照を表すオブジェクト式を指定します。

button	クリックされた Button オブジェクトへの参照を指定します。

解説

引数 button の値を使用すると、ButtonClick イベントが発生したときの各 Button オブジェクトの動作を指定できます。次のコードでは、Button オブジェクトの Key プロパティを使用して、該当する動作を判断します。

Private Sub Toolbar1_ButtonClick(ByVal Button As Button)

Select Case Button.Key

Case "Open"

CommandDialog1.ShowOpen

Case "Save"

CommandDialog.ShowSave

End Select

End Sub

注   実行時に [ツールバーの変更] ダイアログ ボックスで Button オブジェクトを再配置することができます。このため、Index プロパティの値が常にボタンの位置を示しているとは限りません。したがって、Button オブジェクトを取得するには、Key プロパティの値を使用します。


関連項目

ツールバー コントロール

Button オブジェクト、Buttons コレクション

Value プロパティ


ButtonHeight、ButtonWidth プロパティ

関連項目

ツールバー コントロールのボタンの高さおよび幅を設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.ButtonHeight [= number]

object.ButtonWidth [= number]

ButtonHeight プロパティおよび ButtonWidth プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツールバー コントロールへの参照を表すオブジェクト式を指定します。

number	ボタン、チェック、ButtonGroup スタイルを持つ、コントロール上のすべてのボタンの大きさを数値式 で指定します。

解説

ButtonHeight プロパティおよび ButtonWidth プロパティは、ツールバー コントロールのコンテナの座標系の単位を使用します。この座標系の単位は、コンテナの ScaleMode プロパティで指定します。

ButtonWidth は、ツールバー コントロールを構成している Button オブジェクトの中で、Caption プロパティに指定している文字列が最も長いものに合わせて、自動的に更新されます。


関連項目

ツールバー コントロール

Height、Width プロパティ


Buttons プロパティ

関連項目

ツールバー コントロールの、Button オブジェクトのコレクションへの参照を返します。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Buttons

引数 object には、ツールバー コントロールへの参照を表すオブジェクト式を指定します。

解説

Button オブジェクトは、Add メソッドおよび Remove メソッドなど、コレクションに標準で用意されているメソッドを使用して操作できます。コレクション内の各要素には、Index プロパティの値であるインデックス、または Key プロパティの値である固有のキーでアクセスできます。


関連項目

Add メソッド (Buttons コレクション)

Clear メソッド

Count プロパティ

Item メソッド

Remove メソッド


Change イベント (ツールバー コントロール)

関連項目

ユーザーが [ツールバーの変更] ダイアログ ボックスを使用して、ツールバー コントロールの表示の設定を変更した後に発生します。

重要   このイベントは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_Change()

引数 object には、ツールバー コントロールへの参照を表すオブジェクト式を指定します。

解説

Change イベントは一般に、SaveToolbar メソッドと共に使用して、ツールバーへの変更を保存する場合に利用します。この例を次に示します。

Private Sub Toolbar1_Change()

' ツールバーを変更すると、Windows のレジストリ

' に変更の内容が保存されます。

Toolbar1.SaveToolbar(1, "Custom1", "MyToolbar")

End Sub


関連項目

AllowCustomize プロパティ

Customize メソッド

RestoreToolbar メソッド

SaveToolbar メソッド


Customize メソッド

関連項目

[ツールバーの変更] ダイアログ ボックスを表示します。アプリケーションのユーザーは、このダイアログ ボックスでツールバー コントロール上の Button オブジェクトの再配置または非表示を設定できます。

重要   このメソッドは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Customize

引数 object には、ツールバー コントロールへの参照を表すオブジェクト式を指定します。

解説

ツールバー コントロールに標準で用意されているダイアログ ボックスを使用して、ユーザーはツールバー上のボタンの表示、非表示、または再配置を設定できます。ツールバー コントロールの AllowCustomize プロパティが真 (True) に設定されている場合、ツールバーをダブルクリックすると Customize メソッドが呼び出され、次に示すダイアログ ボックスが表示されます。

ツールバーの変更を制限するには、Customize メソッドを使用します。次のコードでは、パスワードが入力された場合に限り、ユーザーはツールバーの設定を変更できます。

Private Sub Command1_Click()

If InputBox("Password:") = "Chorus&Line9" Then

Toolbar1.AllowCustomize = True	' カスタマイズを許可します。

Toolbar1.Customize	' Customize メソッドを呼び出します。

End If

End Sub

SaveToolbar メソッドは、ツールバー コントロールの状態を保存するために、設定の内容を Windows のレジストリに書き込みます。RestoreToolbar メソッドを使用してレジストリに保存された情報を読み出すと、ツールバー コントロールを以前の状態に復元できます。


関連項目

AllowCustomize プロパティ

Description プロパティ

RestoreToolbar メソッド

SaveToolbar メソッド

ツールバー コントロール


Description プロパティ (Button オブジェクト)

関連項目

[ツールバーの変更] ダイアログ ボックスに表示される、Button オブジェクトの説明用のテキストを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Description [= string]

Description プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button オブジェクトへの参照を表すオブジェクト式を指定します。

string	ボタンが選択された場合に [ツールバーの変更] ダイアログ ボックスに表示される文字列を指定します。

解説

実行時の場合、ツールバー コントロールをダブルクリックして、または Customize メソッドを使用して、[ツールバーの変更] ダイアログ ボックスを呼び出すことができます。どちらの場合も、ユーザーがダイアログ ボックス内のボタンを選択すると、ボタンの説明がダイアログ ボックスの左下隅に表示されます。この説明に使用するテキストは、Description プロパティで設定します。

Description プロパティのテキストは、Button オブジェクトを追加するときに設定できます。次のコードを参照してください。

Dim btnX As Button

' Image プロパティを、Key が "save" のボタンに設定します。

Set btnX = Toolbar1.Buttons.Add(,"save")

btnX.Description = "ファイルを保存します。"


関連項目

AllowCustomize プロパティ

Button オブジェクト、Buttons コレクション

Caption プロパティ

Customize メソッド


MixedState プロパティ

関連項目

ツールバー コントロール内の Button オブジェクトが、不定状態で表示 (グレー表示) されるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.MixedState [= boolean]

MixedState プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	Button オブジェクトが不定状態で表示されるかどうかをブール式で設定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	Button オブジェクトは不定状態となり、淡色で表示されます。

False	Button オブジェクトは不定状態ではなく、通常通りに表示されます。

解説

MixedState プロパティは、選択部分がさまざまな属性を含む場合に使用されます。たとえば、普通 (標準) と太字の両方を含む文字列を選択した場合に、MixedState プロパティが使用されます。さらに、Button オブジェクトで表示されるイメージを変更して、属性の状態を表すことができます。ただし、これは Value プロパティで返される値 (Checked および Unchecked) とは異なります。


関連項目

Button オブジェクト、Buttons コレクション

ツールバー コントロール

Value プロパティ


RestoreToolbar メソッド

関連項目

ツールバー コントロールで作成されたツールバーについて、その設定を変更した後、ツールバーを元の状態に復元します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.RestoreToolbar(key As Integer, subkey As String, value As String)

RestoreToolbar メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。ツールバー コントロールへの参照を表すオブジェクト式を指定します。

key	必ず指定します。ツールバーの設定情報が記述されている Windows のレジストリ内のキーを整数で指定します。

subkey	必ず指定します。key で指定されるキーの下の位置を、文字列で指定します。

value	必ず指定します。サブキーに格納されているツールバーの設定情報を指定します。

解説

ツールバー コントロールで作成されたツールバーは、実行時に Customize メソッドを使用してその設定を変更することができます。ツールバーの状態は、SaveToolbar メソッドを使用してレジストリに保存できます。RestoreToolbar メソッドでは、レジストリを読み取ってツールバーの状態を復元します。

key および subkey の 2 つの引数は、ユーザーのコンピュータのレジストリに存在するキーを指定する必要があります。指定したキーがない場合は、エラーが発生します。


関連項目

AllowCustomize プロパティ

Change イベント (ツールバー コントロール)

Customize メソッド

SaveToolbar メソッド

ツールバー コントロール


SaveToolbar メソッド

関連項目

実行時、ツールバー コントロールで作成されたツールバーの状態をレジストリに保存します。名前付き引数は、指定できません。

重要   このメソッドは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.SaveToolbar(key As Integer, subkey As String, value As String)

SaveToolbar メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。ツールバー コントロールへの参照を表すオブジェクト式を指定します。

key	必ず指定します。ツールバーの設定情報を格納するレジストリ内のキーを整数で指定します。

subkey	必ず指定します。引数 key で指定されるキーの下の位置を、文字列式で指定します。

value	必ず指定します。サブキーに格納されるツールバーの設定情報を指定します。

解説

引数として指定した key または subkey がレジストリにない場合、存在しなかった key または subkey は新しく作成されます。

ユーザーがツールバーの設定を変更できるようにするには、AllowCustomize プロパティを真 (True) に設定する必要があります。

新しいサブキーを作成しない限り、SaveToolbar メソッドはメソッドが呼び出されるたびにレジストリの情報を上書きするので、ツールバーの状態は 1 しか保存されません。


関連項目

AllowCustomize プロパティ

Change イベント (ツールバー コントロール)

Customize メソッド

RestoreToolbar メソッド

ツールバー コントロール


Style プロパティ (Button オブジェクト)

関連項目

ツールバー コントロール内の Button オブジェクトの外観および動作を設定します。値の取得も可能です。.

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Style [=value]

Style プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Button オブジェクトへの参照を表すオブジェクト式を指定します。

value	Button オブジェクトの外観および動作を定数または整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

定数	値	内容

tbrDefault	0	(既定値) Button。ボタンは標準のプッシュ ボタンです。

tbrCheck	1	Check。ボタンは、オン (チェック) またはオフ (未チェック) の状態を表します。

tbrButtonGroup	2	ButtonGroup。グループ内のあるボタンを選択する (オンにする) と、そのグループでそれまで選択されていたボタンが自動的にオフになります。グループ内では、同時に 1 つのボタンしか選択できません。

tbrSeparator	3	Separator。ボタンは 8 ピクセルの固定幅の区切りになります。

tbrPlaceholder	4	Placeholder。ボタンはその幅が変更可能な区切りになります。

解説

ButtonGroup のボタンは、グループ化する必要があります。これらのボタンをグループ化するには、Placeholder の Button オブジェクト 2 つの間に、ButtonGroup の Button オブジェクトを配置します。

Button オブジェクトに Placeholder を割り当てることで、ツールバー上に別のコントロールを配置することもできます。たとえば、デザイン時にツールバー上にコンボ ボックス (ComboBox) コントロールを配置する場合、Placeholder の Button オブジェクトを追加し、そのサイズをこれから配置するコンボ ボックス コントロールのサイズに合わせます。そして、コンボ ボックス コントロールを Button オブジェクトに配置します。

Button オブジェクトに Placeholder が割り当てられている場合、Button 上に配置される他のコントロールに合わせて、Width プロパティの値を設定できます。Button オブジェクトが Button、Check、または ButtonGroup の場合、高さおよび幅は ButtonHeight プロパティおよび ButtonWidth プロパティによって決まります。

Placeholder のボタン上にコントロールを配置した場合、フォームのサイズ変更に伴うコントロールの配置およびサイズの変更を、プログラムで設定する必要があります。次のコードを参照してください。

Private Sub Form_Resize()

' コンボ ボックス コントロールの Top、Left、および Width プロパティを、

' Button オブジェクトの Top、Left、および Width プロパティに設定することでコンボ ボックス コントロールのサイズを合わせます。

Combo1.Top = Toolbar1.Buttons("combo1").Top

Combo1.Left = Toolbar1.Buttons("combo1").Left

Combo1.Width = Toolbar1.Buttons("combo1").Width

End Sub


関連項目

ButtonHeight、ButtonWidth プロパティ

Button オブジェクト、Buttons コレクション

ツールバー コントロール


Wrappable プロパティ

関連項目

ウィンドウのサイズが変更され、ツールバー コントロールのボタンが 1 行で表示しきれない場合、ボタンが自動的に折り返して表示されるかどうかを設定します。値の取得も可能です。

重要   このプロパティは、Microsoft Windows 95 および Windows NT Version 3.51 以降で動作します。

構文

object.Wrappable [= boolean]

Wrappable プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツールバー コントロールへの参照を表すオブジェクト式を指定します。

boolean	ツールバー コントロール上の Button オブジェクトが折り返すかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

値	内容

True	フォームのサイズが変更され、ツールバー コントロールのボタンが 1 行で表示しきれない場合、ボタンは折り返して表示されます。

False	フォームのサイズが変更され、ツールバー コントロールのボタンが 1 行で表示しきれない場合、ボタンは折り返しません。


関連項目

Button オブジェクト、Buttons コレクション

ツールバー コントロール


Buttons

Buttons キーワードは次のコンテキストの中で使用されます。

Buttons コレクション

Buttons プロパティ


ツールバー コントロールの定数

関連項目

Style 定数

定数	値	内容

tbrDefault	0	ボタンは標準のプッシュ ボタンです。

tbrCheck	1	ボタンは、オン (チェック) またはオフ (未チェック) の状態を表します。

tbrButtonGroup	2	グループ内のあるボタンを選択する (オンにする) と、そのグループでそれまで選択されていたボタンが自動的にオフになります。グループ内では、同時に 1 つのボタンしか選択できません。

tbrSeparator	3	ボタンは 8 ピクセルの固定幅の区切りになります。

tbrPlaceholder	4	ボタンはその幅が変更可能な区切りになります。

Value 定数

定数	値	内容

tbrUnpressed	0	ボタンは現在押されていません、またはチェックされていません。

tbrPressed	1	ボタンは現在押されています、またはチェックされています。


関連項目

Style プロパティ (Button オブジェクト)

ツールバー コントロール

Value プロパティ

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


 ツリー ビュー コントロール

関連項目	プロパティ	メソッド	イベント	定数

ツリー ビュー コントロールは、ラベルおよびオプションのビットマップで構成される Node オブジェクトの、階層リストを表示します。通常、ツリー ビュー コントロールは、文書の見出し、インデックス内のエントリ、ディスク上のファイルやディレクトリなど、階層表示できるあらゆる種類の情報を表示するのに使用されます。

構文

Treeview

解説

ツリー ビュー コントロールの作成後、プロパティを設定し、メソッドを呼び出すことによって、Node オブジェクトの追加、削除、配置、および操作を行うことができます。

また、Node オブジェクトをプログラムで展開および縮小して、すべての子ノードを表示したり、非表示にすることができます。これらの機能は、Collapse、Expand、および NodeClick の 3 つのイベントによって、プログラミングできます。

Root、Parent、Child、FirstSibling、Next、Previous、および LastSibling の各プロパティを使用して Node オブジェクトへの参照を取得すると、ツリーの内部を、コードを記述して移動することができます。実行時には、キーボードを使用して、ツリーの中を移動することができます。↑キーおよび↓キーを押すと、展開されているすべての Node オブジェクトの中を下方向に順に移動します。Node オブジェクトは、左から右、上から下の順で選択されます。ツリーの一番下に達すると、次にツリーの先頭に移動し、必要に応じてウィンドウがスクロールします。展開されている Node オブジェクト間を移動するには、→キーおよび←キーを押します。展開されていない Node オブジェクトが選択されている場合に→キーを押すと、まず、その Node オブジェクトが展開されます。もう 1 度→キーを押すと、次の Node オブジェクトが選択されます。一方、展開されている Node オブジェクトがフォーカスを持っているときに←キーを押すと、Node オブジェクトは縮小されます。また、ANSI キーを押すと、その文字で始まる最も近くの Node オブジェクトへ移動します。続けて ANSI キーを押すと、その文字で始まるノードを、展開されているすべての Node オブジェクトを下方向に検索して移動します。

ツリー ビュー コントロールには、コントロールの表示形式を指定する、さまざまなスタイルが用意されています。Node オブジェクトは、文字列、ビットマップ、線、およびプラス/マイナス符号、あるいは、これらを組み合わせて指定する 7 種類のスタイルのうちの 1 つを使用して表示できます。

ツリー ビュー コントロールは、ImageList プロパティで指定するイメージ リスト コントロールを使用して、Node オブジェクトに表示されるビットマップおよびアイコンを格納します。なお、ツリー ビュー コントロールは、一度に 1 つのイメージ リスト コントロールを使用できます。したがって、ツリー ビュー コントロールの Style プロパティを、イメージを表示するスタイルに設定している場合、ツリー ビュー コントロールのすべての項目に、同じサイズのイメージが表示されます。

配布時の注意   ツリー ビュー コントロールは 32 ビットのカスタム コントロールで、Windows 95 または Windows NT Version 3.51 以降の 32 ビット システムで動作します。また、ツリー ビュー コントロールは、COMCTL32.OCX ファイルのカスタム コントロール グループに含まれています。アプリケーションでツリー ビュー コントロールを使用するには、COMCTL32.OCX ファイルをプロジェクトに追加する必要があります。アプリケーションを配布する場合は、ユーザーの Microsoft Windows の \SYSTEM ディレクトリに COMCTL32.OCX ファイルをインストールする必要があります。


関連項目

イメージ リスト コントロール

Node オブジェクト、Nodes コレクション


ツリー ビュー コントロールのプロパティ

BorderStyle プロパティ

Container プロパティ

DragIcon プロパティ

DragMode プロパティ

DropHighlight プロパティ

Enabled プロパティ

Font プロパティ

Height、Width プロパティ

HelpContextID プロパティ

HideSelection プロパティ

hWnd プロパティ

ImageList プロパティ

Indentation プロパティ

Index プロパティ

LabelEdit プロパティ

Left、Top プロパティ

LineStyle プロパティ

MousePointer プロパティ

MouseIcon プロパティ

Name プロパティ

Nodes プロパティ

PathSeparator プロパティ

Parent プロパティ

Scrollbars プロパティ

SelectedItem プロパティ

Sorted プロパティ

Style プロパティ (ツリー ビュー コントロール)

TabIndex プロパティ

TabStop プロパティ

Tag プロパティ

Visible プロパティ

WhatsThisHelpID プロパティ


ツリー ビュー コントロールのメソッド

Clear メソッド

GetVisibleCount メソッド

HitTest メソッド

Move メソッド

Refresh メソッド

Remove メソッド

SetFocus メソッド

StartLabelEdit メソッド

ShowWhatsThis メソッド

ZOrder メソッド


ツリー ビュー コントロールのイベント

AfterLabelEdit イベント

BeforeLabelEdit イベント

Click イベント

Collapse イベント

DblClick イベント

DragDrop イベント

DragOver イベント

Expand イベント

GotFocus イベント

KeyDown イベント

KeyPress イベント

KeyUp イベント

LostFocus イベント

MouseDown イベント

MouseMove イベント

MouseUp イベント

NodeClick イベント


ツリー ビュー コントロールの定数

関連項目

TreeLine 定数

定数	値	内容

tvwTreeLines	0	ツリー ラインを表示します。

tvwRootLines	1	ツリー ラインとルート線を表示します。

TreeRelationship 定数

定数	値	内容

tvwFirst	0	先頭の項目。

tvwLast	1	末尾の項目。

tvwNext	2	次の項目。

tvwPrevious	3	前の項目。

tvwChild	4	子。

TreeStyle 定数

定数	値	内容

tvwTextOnly	0	文字列のみ。

tvwPictureText	1	ピクチャおよび文字列。

tvwPlusMinusText	2	プラス/マイナスおよび文字列。

tvwPlusPictureText	3	プラス/マイナス、ピクチャ、および文字列。

tvwTreelinesText	4	ツリー ラインおよび文字列。

tvwTreelinesPictureText	5	ツリー ライン、ピクチャ、および文字列。

tvwTreelinesPlusMinusText	6	ツリー ライン、プラス/マイナス、および文字列。

tvwTreelinesPlusMinusPictureText	7	ツリー ライン、プラス/マイナス、ピクチャ、および文字列。

LabelEdit 定数

定数	値	内容

tvwAutomatic	0	ラベル編集が自動的に行われます。

tvwManual	1	ラベル編集関連のイベントを呼び出す必要があります。


関連項目

Add メソッド (Nodes コレクション)

Child プロパティ

FirstSibling プロパティ

LastSibling プロパティ

LineStyle プロパティ

Next プロパティ

Style プロパティ (ツリー ビュー コントロール)

ツリー ビュー コントロール

Visual Basic カスタム コントロールの定数

Windows 95 コントロールの定数


Node オブジェクト、Nodes コレクション

関連項目	プロパティ	メソッド

Node オブジェクト
イメージおよび文字列を含む、ツリー ビュー コントロールの項目です。

Nodes コレクション
1 つまたは複数の Node オブジェクトの集まりです。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

treeview.Nodes

treeview.Nodes.Item(index)

標準のコレクションの構文にしたがって、コレクション、およびコレクションの個別の要素をそれぞれ参照します。

Node オブジェクトおよび Nodes コレクションの構文の指定項目は次のとおりです。

指定項目	内容

treeview	TreeView コントロールへの参照を表すオブジェクト式を指定します。

index	Nodes コレクションの固有のメンバを識別する整数または文字列を指定します。整数は Index プロパティの値で、文字列は Key プロパティの値です。

解説

ノードは、文字列およびピクチャの両方を含むことができます。ピクチャを使用するには、ImageList プロパティを使用してイメージ リスト コントロールを関連付けてください。

ピクチャは、ノードの状態に応じて変更できます。たとえば、SelectedImage プロパティを、関連付けたイメージ リスト コントロールのイメージに設定すると、選択しているノードのピクチャと、選択していないノードのピクチャを区別することができます。


関連項目

Add メソッド (Nodes コレクション)

イメージ リスト コントロール

ImageList プロパティ

Nodes プロパティ

ツリー ビュー コントロール


Node オブジェクト、Nodes コレクションのプロパティ

凡例

Child プロパティ

Children プロパティ

Count プロパティ

Expanded プロパティ

ExpandedImage プロパティ

FirstSibling プロパティ

FullPath プロパティ

Image プロパティ

Index プロパティ

Key プロパティ

LastSibling プロパティ

Next プロパティ

Parent プロパティ (Node オブジェクト)

Previous プロパティ (Node オブジェクト)

Root プロパティ (Node オブジェクト)

Selected プロパティ

SelectedImage プロパティ

Sorted プロパティ (ツリー ビュー コントロール)

Tag プロパティ

Text プロパティ

Visible プロパティ


Node オブジェクト、Nodes コレクションのメソッド

凡例

Add メソッド (Nodes コレクション)

Clear メソッド

CreateDragImage メソッド

EnsureVisible メソッド

Item メソッド

Remove メソッド


Add メソッド (Nodes コレクション)

関連項目	例

ツリー ビュー コントロールの Nodes コレクションに、Node オブジェクトを追加します。名前付き引数は、指定できません。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Add(relative, relationship, key, text, image, selectedimage)

Add メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。Nodes コレクションへの参照を表すオブジェクト式を指定します。

relative	省略可能です。既存の Node オブジェクトのインデックス番号またはキーを指定します。新ノードと、この既存ノードとの関係は、引数 relationship で指定します。

relationship	省略可能です。Node オブジェクトの相対位置を指定します。詳細については、「設定値」を参照してください。

key	省略可能です。Item メソッドで Node オブジェクトを取得するときに使用する固有の文字列を指定します。

text	必ず指定します。Node オブジェクトに表示される文字列を指定します。

image	省略可能です。関連するイメージ リスト コントロールのイメージのインデックスを指定します。

selectedimage	省略可能です。Node オブジェクトを選択したときに表示される、関連するイメージ リスト コントロールのイメージのインデックスを指定します。

設定値

relationship の設定値は次のとおりです。

定数	値	内容

tvwLast	1	Last。Node オブジェクトは、引数 relative に指定するノードと同じレベルにある他のすべてのノードの後に設定されます。

tvwNext	2	Next。Node オブジェクトは、引数 relative に指定するノードの後に設定されます。

tvwPrevious	3	Previous。Node オブジェクトは、引数 relative に指定するノードの前に設定されます。

tvwChild	4	(既定値) Child。Node オブジェクトは、引数 relative に指定するノードの子ノードになります。

注   引数 relative で Node オブジェクトを指定しない場合、トップ ノード階層の最後の位置に新しいノードが設定されます。

解説

Nodes コレクションは、インデックスが 1 から始まるコレクションです。

Node オブジェクトが追加されるときに割り当てられるインデックス番号は、Node オブジェクトの Index プロパティに格納されます。最新のメンバのインデックス番号は、Node コレクションの Count プロパティに 1 を加えた値になります。

Add メソッドは、新しく作成された Node オブジェクトへの参照を返すため、新 Node のプロパティを設定するにはこの参照を利用するのが一番簡単です。次の例では、複数の Node オブジェクトを同一のプロパティによって追加します。

Dim nodX As Node	' オブジェクト変数を作成します。

Dim I as Integer	' カウンタ変数を作成します。

For I = 1 to 4

Set nodX = TreeView1.Nodes.Add(,,,"Node " & Cstr(i))

' 参照を使用して、Enabled など、他のプロパティを設定します。

nodX.Enabled = True

' ExpandedImage プロパティを、関連するイメージ リスト コントロールのイメージ 3 に設定します。

nodX.ExpandedImage = 3

Next I


関連項目

Clear メソッド

Index プロパティ

Item メソッド (カスタム コントロール)

Key プロパティ

Node オブジェクト、Nodes コレクション

Remove メソッド (カスタム コントロール)

ツリー ビュー コントロール


Add メソッドの例 (Nodes コレクション)

次のプログラムでは、イメージを含む複数の Node オブジェクトをツリー ビュー コントロールに追加します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびイメージ リスト コントロールを配置して、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、他の Node オブジェクトをクリックしてそのキーを表示します。

Private Sub Form_Load()

'イメージ リスト コントロールにピクチャをロードします。

Dim imgI As ListImage	' イメージの変数を作成します。

' イメージ 1 は開いているフォルダ、キーは "open" です。

Set imgI = ImageList1.ListImages.Add _

(, "open", LoadPicture("bitmaps\outline\open.bmp"))

' イメージ 2 は閉じているフォルダ、キーは "closed" です。

Set imgI = ImageList1.ListImages.Add _

(, "closed", LoadPicture("bitmaps\outline\closed.bmp"))

' イメージ 3 は文書、キーは "leaf" です。

Set imgI = ImageList1.ListImages.Add _

(, "leaf", LoadPicture("bitmaps\outline\leaf.bmp"))

' ツリー ビュー コントロールのプロパティを設定します。

TreeView1.ImageList = ImageList1	' ImageList プロパティを初期化します。

TreeView1.Style = tvwTreelinesPlusMinusPictureText ' スタイルを 7 に設定します。

TreeView1.LineStyle = tvwRootLines	' 線のスタイルを 1 に設定します。

' Node オブジェクトを追加します。

Dim nodX As Node	' 変数を作成します。

' 1 つめのノードの文字列は 'Root'、イメージはイメージ 2 ("closed") です。

Set nodX = TreeView1.Nodes.Add(, ,"r", "Root", "closed")

nodX.ExpandedImage = "open"  ' 展開しているノードは開いているフォルダです。

' 2 つめのノードの文字列は 'Parent'、イメージはイメージ 2 です。

Set nodX = TreeView1.Nodes.Add(, , "p", "Parent", "closed")

nodX.ExpandedImage = "open"  ' 展開しているノードは開いているフォルダです。

' この次のノードは、Node 1 ("Root") の子で、

' イメージにイメージ 3 ("leaf") を使用します。

Set nodX = TreeView1.Nodes.Add(1,tvwChild,"c", "Child", "leaf")

' この次のノードは "p" の子です。相対関係を指定するのに、

' インデックス番号の代わりに、そのキーである "p" を使用します。

Set nodX = TreeView1.Nodes.Add _

("p", tvwChild, "uns", "Unsorted", "closed")

nodX.ExpandedImage = "open"

' "Unsorted" の子として 3 つのノードを追加します。

Set nodX = TreeView1.Nodes. _

Add("uns",tvwChild,"xx","Xu Xiang","leaf")

Set nodX = TreeView1.Nodes. _

Add("uns",tvwChild,"date","1967","leaf")

Set nodX = TreeView1.Nodes. _

Add("uns",tvwChild,"srt","Sorted",2)

nodX.ExpandedImage = "open"

' 最後に作成されたノードの子を並べ替えます。

nodX.Sorted = True

' "Sorted" の子として 3 つのノードを、イメージは "leaf" として追加します。

Set nodX = TreeView1.Nodes.Add("srt",tvwChild,"x","X", "leaf")

Set nodX = TreeView1.Nodes.Add("srt",tvwChild,"j","J", "leaf")

Set nodX = TreeView1.Nodes.Add("srt",tvwChild,"a","A", "leaf")

nodX.EnsureVisible ' ツリーを展開してすべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

' フォームのキャプションにインデックス、親、およびキーを表示します。

Dim strI As String

strI = "Index = " & Node.Index

On Error Resume Next ' レベル 1 のノードには親がないため、エラーになります。

strI = strI & ": Parent =" & Node.Parent.Text

strI = strI & ": Key =" & Node.Key

Me.Caption = strI

End Sub


Child プロパティ

関連項目	例

ツリー ビュー コントロールの Node オブジェクトの先頭の子ノードへの参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Child

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

Children プロパティ

Node オブジェクト、Nodes コレクション

Parent プロパティ (Node オブジェクト)

ツリー ビュー コントロール


Child プロパティの例

次のプログラムでは、複数の Node オブジェクトを作成します。Node オブジェクトをクリックすると、Child プロパティを使用してツリーの中を移動し、すべての子ノードの名前を返します。Node オブジェクトが子ノードを持つ限り、子ノードの文字列が変数に代入されます。Node の子ノードがなくなると、実行を停止します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置して、フォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、任意の Node オブジェクトをクリックすると、その子と子孫が表示されます。

Private Sub Form_Load()

TreeView1.Style = tvwTreelinesPlusMinusText ' スタイルを 6 に設定します。

TreeView1.LineStyle = tvwRootLines	'線のスタイルを 1 に設定します。

' 複数の Node オブジェクトを追加します。

Dim nodX As Node	' 変数を作成します。

Set nodX = TreeView1.Nodes.Add(, , "r", "Root")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, "c1", "Child 1")

Set nodX = TreeView1.Nodes.Add("c1", tvwChild, "c2", "Child 2")

Set nodX = TreeView1.Nodes.Add("c2", tvwChild, "c3", "Child 3")

Set nodX = TreeView1.Nodes.Add("c3", tvwChild, "c4", "Child 4")

Set nodX = TreeView1.Nodes.Add("c2", tvwChild, "c5", "Child 5")

Set nodX = TreeView1.Nodes.Add("c3", tvwChild, "c6", "Child 6")

Set nodX = TreeView1.Nodes.Add("c4", tvwChild, "c7", "Child 7")

nodX.EnsureVisible ' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("c5", tvwChild, "c8", "Child 8")

Set nodX = TreeView1.Nodes.Add("c8", tvwChild, "c9", "Child 9")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim strC As String

Dim n As Integer

'変数 n にカレント ノードのインデックスを代入します。

n = Node.Index

Dim blnFlag As Boolean

blnFlag = True

' カレント ノードの文字列を文字列変数に代入します。

strC = Node.Text & Chr(10)

' 2 つの Node 変数を作成します。

Dim nod1, nod2 As Node

While blnFlag

' 最初の変数を Node n の子に設定します。

Set nod1 = TreeView1.Nodes(n).Child

If nod1 is Nothing then

blnFlag = False

Else

' 子ノードの文字列を文字列変数に代入します。

strC = strC & nod1.Text & Chr(10)

' 変数 n に子ノードのインデックスを再設定します。

n = TreeView1.Nodes(n).Child.Index

' 2 つめの変数を次の子に設定します。

Set nod2 = TreeView1.Nodes(n).Child

' 次の子のインデックスと n が等しい場合、ループを終了します。

If nod2 Is Nothing Then

   blnFlag = False

End If

End If

Wend

MsgBox strC ' 子ノードを表示します。

End Sub


Children プロパティ

関連項目	例

Node オブジェクトの子ノードの数を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Children

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Children プロパティを使用すると、Node オブジェクトが子ノードを持っているかどうか、子ノードに影響する操作を実行する前に調べることができます。次のプログラムでは、先頭の Node オブジェクトの Text プロパティを取得する前に、Children プロパティを使用して子ノードがあるかどうかを調べます。

Private Sub TreeView1_NodeClick(ByVal Node As Node)

If Node.Children > 0 Then

MsgBox Node.Child.Text

End If

End Sub


関連項目

Child プロパティ

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


Children プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに配置します。コードでは、Node に子ノードがあるかどうかをチェックします。子ノードがある場合は、子ノードの文字列が表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトをクリックして選択し、次にフォームをクリックすると、Node オブジェクトの子の文字列が表示されます。

Private Sub Form_Click()

Dim strC As String

Dim N As Integer

If TreeView1.SelectedItem.Children > 0 Then ' 子ノードがあります。

' 先頭の子の文字列を取得し、変数 N にインデックス番号を代入します。

strC = TreeView1.SelectedItem.Child.Text & Chr(10)

N = TreeView1.SelectedItem.Child.Index

' 変数 N が子ノードの末尾の項目のインデックスになるまで、

' 次の項目の文字列を取得します。

While N <> TreeView1.SelectedItem.Child.LastSibling.Index

strC = strC & TreeView1.Nodes(N).Next.Text & Chr(10)

' 変数 N を次の項目のインデックスに再設定します。

N = TreeView1.Nodes(N).Next.Index

Wend

' 結果を表示します。

MsgBox "ノード " & TreeView1.SelectedItem.Text & _

" の子 : " & Chr(10) & strC

Else ' 子ノードがありません。

MsgBox TreeView1.SelectedItem.Text & " には子がありません。"

End If

End Sub

Private Sub Form_Load()

TreeView1.BorderStyle = 1  ' 境界線を表示します。

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"d","Dates")

Set nodX = TreeView1.Nodes.Add("d",tvwChild,"d89","1989")

Set nodX = TreeView1.Nodes.Add("d",tvwChild,"d90","1990")

' 1989 ノードの子を作成します。

Set nodX = TreeView1.Nodes.Add("d89",tvwChild, ,"John")

Set nodX = TreeView1.Nodes.Add("d89",tvwChild, ,"Brent")

Set nodX = TreeView1.Nodes.Add("d89",tvwChild, ,"Eric")

Set nodX = TreeView1.Nodes.Add("d89",tvwChild, ,"Ian")

nodX.EnsureVisible ' すべてのノードを表示します。

' 1990 ノードの子を作成します。

Set nodX = TreeView1.Nodes.Add("d90",tvwChild, ,"Randy")

Set nodX = TreeView1.Nodes.Add("d90",tvwChild, ,"Ron")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub


Collapse イベント (ツリー ビュー コントロール)

関連項目	例

ツリー ビュー コントロールの Node オブジェクトが縮小されたときに発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_Collapse(ByVal node As Node)

Collapse イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

node	クリックした Node オブジェクトへの参照が渡されます。

解説

Collapse イベントは、標準の Click イベントの前に発生します。

Node オブジェクトを縮小するには、次の 3 つの方法があります。Node オブジェクトの Expanded プロパティを偽 (False) に設定する、Node オブジェクトをダブルクリックする、またはツリー ビュー コントロールの Style プロパティがプラス/マイナス イメージを含むスタイルに設定されている場合にプラス/マイナス イメージをクリックします。これらの方法はすべて、Collapse イベントが発生します。

Collapse イベントでは、縮小した Node オブジェクトへの参照が渡されるので、この参照を使用して動作を確認することができます。次に例を示します。

Private Sub TreeView1_Collapse(ByVal Node As Node)

If Node.Index = 1 Then

Node.Expanded = True	' ノードを再び展開します。

End If

End Sub


関連項目

Expand イベント

Expanded プロパティ

Node オブジェクト、Nodes コレクション

NodeClick イベント

SelectedItem プロパティ

Style プロパティ (ツリー ビュー コントロール)

ツリー ビュー コントロール


Collapse イベントの例 (ツリー ビュー コントロール)

次のプログラムでは、複数の子ノードを持つ 1 つの Node オブジェクトをツリー ビュー コントロールに追加します。ユーザーが Node オブジェクトを縮小すると、Node オブジェクトの子ノードの数が調べられます。複数の子ノードがある場合、Node オブジェクトは再び展開されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトをダブルクリックして縮小し、イベントを発生させます。

Private Sub Form_Load()

TreeView1.Style = tvwTreelinesPlusMinusText ' スタイルを 6 に設定します。

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"DV","Da Vinci")

Set nodX = TreeView1.Nodes.Add("DV",tvwChild,"T","Titian")

Set nodX = TreeView1.Nodes.Add("T",tvwChild,"R","Rembrandt")

Set nodX = TreeView1.Nodes.Add("R",tvwChild,,"Goya")

Set nodX = TreeView1.Nodes.Add("R",tvwChild,,"David")

nodX.EnsureVisible	' ノードをすべて表示します。

End Sub

Private Sub TreeView1_Collapse(ByVal Node As Node)

' Node オブジェクトに複数の子ノードがある場合、

' ノードは展開したままにしておきます。

Select Case Node.Children

Case Is > 1

Node.Expanded = True

End Select

End Sub


AfterLabelEdit イベント (リスト ビュー、ツリー ビュー コントロール)

関連項目	例

現在選択されている Node オブジェクトまたは ListItem オブジェクトのラベルが編集された後に発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Sub object_AfterLabelEdit(cancel As Integer, newstring As String)

AfterLabelEdit イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールまたはツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

cancel	ラベルの編集操作を取り消すかどうかを決定する整数を指定します。0 以外の値を指定すると操作は取り消されます。ブール値を指定することもできます。

newstring	ユーザーが入力した文字列が渡されます。ユーザーが操作を取り消した場合は Null になります。

解説

AfterLabelEdit イベントおよび BeforeLabelEdit イベントは、LabelEdit プロパティが 1 (自動) に設定されている場合、または StartLabelEdit メソッドが呼び出されている場合にのみ発生します。

AfterLabelEdit イベントは、ユーザーがラベルの編集操作を終了した後、別の Node オブジェクトまたは ListItem オブジェクトをクリックしたとき、あるいは Enter キーを押したときに発生します。

ラベル編集操作を取り消すには、引数 cancel に 0 以外の値または真 (True) を設定します。ラベル編集操作を取り消すと、編集前の既存のラベルが復元されます。

引数 newstring は、ラベルの編集操作を取り消す前にその状況を調べるのに使用することもできます。次のプログラムでは、ラベルの編集操作を終了させる前に、引数 newstring が数字であるかどうかを確認します。

Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, NewString As String)

If IsNumeric(NewString) Then

MsgBox "数字は使用できません。"

Cancel = True

End If

End Sub


関連項目

BeforeLabelEdit イベント

LabelEdit プロパティ

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

NodeClick イベント

Node オブジェクト、Nodes コレクション

StartLabelEdit メソッド

ツリー ビュー コントロール


AfterLabelEdit イベントの例 (リスト ビュー、ツリー ビュー コントロール)

次のプログラムでは、3 つの Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトのラベルを編集しようとすると、Node オブジェクトのインデックスが調べられます。インデックスの値が 1 の場合、編集操作は取り消されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、先頭の Node オブジェクトのラベルを 2 回クリックして編集し、文字列を入力して、Enter キーを押します。

Private Sub Form_Load()

TreeView1.Style = tvwTreelinesText ' 線および文字列。

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,,"Parent")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Child1")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Child2")

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub TreeView1_AfterLabelEdit _

(Cancel As Integer, NewString As String)

' カレント ノードのインデックスが 1 の場合、編集は取り消されます。

If TreeView1.SelectedItem.Index = 1 Then

Cancel = True

MsgBox  TreeView1.SelectedItem.Text & _

" を " & NewString & "で置き換えることはできません。"

End If

End Sub

次のプログラムでは、3 つの ListItem オブジェクトをリスト ビュー コントロールに追加します。ListItem オブジェクトのラベルを編集しようとすると、オブジェクトのインデックスが調べられます。インデックスの値が 1 の場合、編集操作は取り消されます。このプログラムを実行するには、フォーム上にリスト ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、いずれかの ListItem オブジェクトのラベルを 2 回クリックして編集し、文字列を入力して、Enter キーを押します。

Private Sub Form_Load()

Dim itmX As ListItem

Set itmX = ListView1.ListItems.Add(,,"Item1")

Set itmX = ListView1.ListItems.Add(,,"Item 2")

Set itmX = ListView1.ListItems.Add(,,"Item 3")

End Sub

Private Sub ListView1_AfterLabelEdit _

(Cancel As Integer, NewString As String)

' カレントの ListItem のインデックスが 1 の場合、編集は取り消されます。

If ListView1.SelectedItem.Index = 1 Then

Cancel = True

MsgBox  ListView1.SelectedItem.Text & _

" を " & NewString & "で置き換えることはできません。"

End If

End Sub


BeforeLabelEdit イベント (リスト ビュー、ツリー ビュー コントロール)

関連項目	例

現在選択されている ListItem オブジェクトまたは Node オブジェクトのラベルが編集されようとするときに発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Sub object_BeforeLabelEdit(cancel As Integer)

BeforeLabelEdit イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールまたはリスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

cancel	(既定値) 0。操作を取り消すかどうかを決定する整数を指定します。0 以外の値を指定すると操作は取り消されます。

解説

AfterLabelEdit イベントおよび BeforeLabelEdit イベントは、LabelEdit プロパティが 1 (自動) に設定されている場合、または StartLabelEdit メソッドが呼び出されている場合にのみ発生します。

BeforeLabelEdit イベントは、標準の Click イベントの後に発生します。

ラベルの編集を開始するには、まずオブジェクトをクリックして選択してから、もう 1 度クリックして操作を開始してください。BeforeLabelEdit イベントは、2 度めにクリックした後で発生します。

編集するオブジェクトのラベルを特定するには、SelectedItem プロパティを使用します。次のプログラムでは、編集を可能にする前に、選択されている Node オブジェクトのインデックスを調べます。

Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)

If TreeView1.SelectedItem.Index = 1 Then

Cancel = True	' 操作を取り消します。

End If

End Sub


関連項目

AfterLabelEdit イベント

LabelEdit プロパティ

リスト ビュー コントロール

Node オブジェクト、Nodes コレクション

SelectedItem プロパティ

StartLabelEdit メソッド

ツリー ビュー コントロール


BeforeLabelEdit イベントの例 (リスト ビュー、ツリー ビュー コントロール)

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。ラベルを編集しようとすると、Node オブジェクトのインデックスが調べられます。インデックスの値が 1 の場合、編集操作は取り消されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ラベルを編集します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"P1","Parent 1")

Set nodX = TreeView1.Nodes.Add("P1",tvwChild,,"Child 1")

Set nodX = TreeView1.Nodes.Add("P1",tvwChild,,"Child 2")

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)

' 選択されたノードのインデックスをチェックします。その値が 1 の場合、

' 編集操作を取り消します。

If TreeView1.SelectedItem.Index = 1 Then

MsgBox  TreeView1.SelectedItem.Text + " は編集できません。"

Cancel = True

End If

End Sub

次のプログラムでは、複数の ListItem オブジェクトをリスト ビュー コントロールに追加します。ラベルを編集しようとすると、ListItem オブジェクトのインデックスが調べられます。インデックスの値が 1 の場合、編集操作は取り消されます。このプログラムを実行するには、フォーム上にリスト ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ラベルを編集します。

Private Sub Form_Load()

Dim nodX As ListViewItem

Set nodX = ListView1.ListItems.Add(, , "Item 1")

Set nodX = ListView1.ListItems.Add(, , "Item 2")

Set nodX = ListView1.ListItems.Add(, , "Item 3")

End Sub

Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)

' 選択された ListItem オブジェクトのインデックスを調べます。その値が 1 の場合、

' 編集操作を取り消します。

If ListView1.SelectedItem.Index = 1 Then

MsgBox  ListView1.SelectedItem.Text + " は編集できません。"

Cancel = True

End If

End Sub


CreateDragImage メソッド

関連項目	例

オブジェクトに関連付けられたイメージおよびラベルのディザされたイメージを使用してドラッグ イメージを作成します。通常、このイメージはドラッグ アンド ドロップ操作で使用されます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.CreateDragImage

引数 object には、ListItem オブジェクトまたは Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

通常、ドラッグ アンド ドロップ操作の前に、CreateDragImage メソッドを使用して DragIcon プロパティにイメージを設定します。


関連項目

DropHighLight プロパティ

HitTest メソッド

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


CreateDragImage メソッドの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択し、選択した Node オブジェクトをドラッグして、別の Node オブジェクトの子にすることができます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびイメージ リスト コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択して別の Node オブジェクトにドラッグします。

' パブリック変数を宣言します。

Dim indrag As Boolean ' ドラッグ アンド ドロップ操作を示すフラグを作成します。

Dim nodX As Object ' ドラッグされた項目を格納します。

Private Sub Form_Load()

'イメージ リスト コントロールにピクチャをロードします。

Dim imgX As ListImage

Dim BitmapPath As String

BitmapPath = "icons\mail\mail01a.ico"

Set imgX = imagelist1.ListImages.Add(, , LoadPicture(BitmapPath))

' ツリー ビュー コントロールを初期化して複数のノードを作成します。

TreeView1.ImageList = imagelist1

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(, , , "Parent1", 1)

Set nodX = TreeView1.Nodes.Add(, , , "Parent2", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 1", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 2", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 3", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 4", 1)

Set nodX = TreeView1.Nodes.Add(3, tvwChild, , "Child 5", 1)

nodX.EnsureVisible ' すべてのノードを拡張して表示します。

End Sub

Private Sub TreeView1_MouseDown_

(Button As Integer, Shift As Integer, x As Single, y As Single)

Set nodX = TreeView1.SelectedItem ' ドラッグされた項目を代入します。

End Sub

Private Sub TreeView1_MouseMove _

(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = vbLeftButton Then ' ドラッグ操作の場合。

indrag = True ' フラグを真に設定します。

' CreateDragImage メソッドを使用してドラッグ中のアイコンを作成します。

TreeView1.DragIcon = TreeView1.SelectedItem.CreateDragImage

TreeView1.Drag vbBeginDrag ' ドラッグ操作。

End If

End Sub

Private Sub TreeView1_DragDrop_

(Source As Control, x As Single, y As Single)

If TreeView1.DropHighlight Is Nothing Then

Set TreeView1.DropHighlight = Nothing

indrag = False

Exit Sub

Else

If nodX = TreeView1.DropHighlight Then Exit Sub

Cls

Print nodX.Text & " dropped on " & TreeView1.DropHighlight.Text

Set TreeView1.DropHighlight = Nothing

indrag = False

End If

End Sub

Private Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer)

If indrag = True Then

' DropHighlight プロパティにマウスの座標を設定します。

Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)

End If

End Sub


DropHighlight プロパティ (リスト ビュー、ツリー ビュー コントロール)

関連項目	例

Node オブジェクトまたは ListItem オブジェクトへの参照を設定します。値の取得も可能です。指定したオブジェクトはシステムの反転色で反転表示されます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.DropHighlight [ = Value]

DropHighlight プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	リスト ビュー コントロールおよびツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

Value	Node オブジェクトまたは ListItem オブジェクトを指定します。

解説

通常、DropHighlight プロパティは、ドラッグ アンド ドロップ操作で、HitTest メソッドと組み合わせて使用します。HitTest メソッドは、ポインタがコントロール上でドラッグされると、ポインタがその上を通っていったオブジェクトへの参照を返します。次に、DropHighlight プロパティに、ヒット オブジェクトを設定するとそのオブジェクトへの参照を返し、そのオブジェクトはシステムの反転色で反転表示されます。次のプログラムでは、DropHighlight プロパティに、HitTest メソッドの返すヒット オブジェクトを設定します。

Private Sub TreeView1_DragOver _

(Source As Control, X As Single, Y As Single, State As Integer)

Set TreeView1.DropHighlight = TreeView1.HitTest(X,Y)

End Sub

この後、DragDrop イベントの中で DropHighlight プロパティを使用して、移動元のコントロールがドロップされた、最後のオブジェクトへの参照を返すことができます。次に例を示します。

Private Sub TreeView1_DragDrop _

(Source As Control, x As Single, y As Single)

' DropHighlight プロパティは、その上でドロップ操作が発生したオブジェクトへの参照を返します。

Me.Caption = TreeView1.DropHighlight.Text

' DropHighlight プロパティの参照を解除するには、Nothing を設定します。

Set TreeView1.DropHighlight = Nothing

End Sub

上のプログラム例では、プロシージャが完了した後に、DropHighlight プロパティに Nothing を設定します。この処理は、反転表示を解除するために必要です。


関連項目

HitTest メソッド

リスト ビュー コントロール

ツリー ビュー コントロール


DropHighlight プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択し、選択した Node オブジェクトをドラッグして、別の Node オブジェクトの子にすることができます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびイメージ リスト コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択して別の Node オブジェクトにドラッグします。

' パブリック変数を宣言します。

Dim indrag As Boolean ' ドラッグ アンド ドロップ操作を示すフラグを作成します。

Dim nodX As Object ' ドラッグされた項目を格納します。

Private Sub Form_Load()

'イメージ リスト コントロールにピクチャをロードします。

Dim imgX As ListImage

Dim BitmapPath As String

BitmapPath = "icons\mail\mail01a.ico"

Set imgX = imagelist1.ListImages.Add(, , LoadPicture(BitmapPath))

' ツリー ビュー コントロールを初期化して複数のノードを作成します。

TreeView1.ImageList = imagelist1

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(, , , "Parent1", 1)

Set nodX = TreeView1.Nodes.Add(, , , "Parent2", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 1", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 2", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 3", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 4", 1)

Set nodX = TreeView1.Nodes.Add(3, tvwChild, , "Child 5", 1)

nodX.EnsureVisible ' すべてのノードを拡張して表示します。

End Sub

Private Sub TreeView1_MouseDown_

(Button As Integer, Shift As Integer, x As Single, y As Single)

Set nodX = TreeView1.SelectedItem ' ドラッグされた項目を代入します。

End Sub

Private Sub TreeView1_MouseMove _

(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = vbLeftButton Then ' ドラッグ操作の場合。

indrag = True ' フラグを真に設定します。

' CreateDragImage メソッドを使用してドラッグ中のアイコンを作成します。

TreeView1.DragIcon = TreeView1.SelectedItem.CreateDragImage

TreeView1.Drag vbBeginDrag ' ドラッグ操作。

End If

End Sub

Private Sub TreeView1_DragDrop_

(Source As Control, x As Single, y As Single)

If TreeView1.DropHighlight Is Nothing Then

Set TreeView1.DropHighlight = Nothing

indrag = False

Exit Sub

Else

If nodX = TreeView1.DropHighlight Then Exit Sub

Cls

Print nodX.Text & " dropped on " & TreeView1.DropHighlight.Text

Set TreeView1.DropHighlight = Nothing

indrag = False

End If

End Sub

Private Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer)

If indrag = True Then

' DropHighlight プロパティにマウスの座標を設定します。

Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)

End If

End Sub


EnsureVisible メソッド

関連項目	例

指定された ListItem オブジェクトまたは Node オブジェクトを表示します。必要に応じて、ツリー ビュー コントロールまたはリスト ビュー コントロールをスクロール、および展開します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.EnsureVisible

引数 object には、ListItem オブジェクトまたは Node オブジェクトへの参照を表すオブジェクト式を指定します。

戻り値

値	内容

True	リスト ビュー コントロールまたはツリー ビュー コントロールをスクロールする場合、あるいはオブジェクトを展開して公開する場合は、真 (True) を返します。

False	スクロール、または展開を行わない場合、偽 (False) を返します。

解説

EnsureVisible メソッドは、ツリー ビュー コントロールまたはリスト ビュー コントロールの下のレベルにある非表示の、特定の Node オブジェクトまたは ListItem オブジェクトを表示するときに使用します。


関連項目

Collapse イベント

Expand イベント

Expanded プロパティ

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


EnsureVisible メソッドの例

次のプログラムでは、複数のノードをツリー ビュー コントロールに追加し、EnsureVisible メソッドを使用して、ツリーをスクロールおよび展開します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、フォームをクリックしてツリー ビュー コントロールを展開します。

Private Sub Form_Load()

Dim nodX As Node

Dim i as Integer

TreeView1.BorderStyle = FixedSingle ' 境界線を表示します。

Set nodX = TreeView1.Nodes.Add(,,,"Root")	' 先頭ノードを追加します。

For i = 1 to 15	' 15 個のノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,,,"Node " & CStr(i))

Next i

Set nodX = TreeView1.Nodes.Add(,,,"Bottom")	' 文字列のあるノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,,,"Expanded") ' ノードに子を追加します。

Set nodX = TreeView1.Nodes.Add(i+1,,,"Show me") ' 最後の子を追加します。

End Sub

Private Sub Form_Click()

' フォームをクリックすると、ツリーがスクロールし、展開します。

TreeView1.Nodes(TreeView1.Nodes.Count).EnsureVisible

End Sub


Expand イベント (ツリー ビュー コントロール)

関連項目	例

ツリー ビュー コントロールの Node オブジェクトが展開されたとき、つまり子ノードが表示されたときに発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Sub object_Expand(ByVal node As Object)

Expand イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

node	展開した Node オブジェクトへの参照が渡されます。

解説

Expand イベントは、Click イベントおよび DblClick イベントの後に発生します。

Expand イベントは、ユーザーが、子ノードを持つ Node オブジェクトをダブルクリックしたとき、Node オブジェクトの Expanded プロパティを真 (True) に設定したとき、およびプラス/マイナス イメージをクリックしたときに発生します。次のプログラムでは、Expand イベントを使用してオブジェクトを確認します。

Private Sub TreeView1_Expand(ByVal Node As Node)

If Node.Index <> 1 Then

Node.Expanded = False	' オブジェクトを展開しません。

End If

End Sub


関連項目

Collapse イベント

Expanded プロパティ

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


Expand イベントの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトが展開されると Expand イベントが発生し、Node オブジェクトについての情報が表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ノードを展開します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(, , "RP", "Root Parent")

Set nodX = TreeView1.Nodes.Add("RP", tvwChild, "C1", "Child1")

Set nodX = TreeView1.Nodes.Add("C1", tvwChild, "C2", "Child2")

Set nodX = TreeView1.Nodes.Add("C2", tvwChild, "C3", " Child3")

Set nodX = TreeView1.Nodes.Add("C2", tvwChild, "C4", " Child4")

TreeView1.Style = tvwTreelinesPlusMinusText	' スタイルを 6 に設定します。

TreeView1.LineStyle = tvwRootLines	' スタイルを 1 に設定します。

End Sub

Private Sub TreeView1_Expand(ByVal Node As Node)

Select Case Node.Key Like "C*"

Case Is = True

MsgBox Node.Text & " は子ノードです。"

End Select

End Sub


Expanded プロパティ

関連項目	例

現在の、ツリー ビュー コントロールの Node オブジェクトが現在展開または縮小されているかを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Expanded[= boolean]

Expanded プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Node オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	ノードが展開または縮小されていることを表すブール式で指定します。

boolean の設定値は次のとおりです。

設定値	内容

True	Node オブジェクトは現在展開されています。

False	Node オブジェクトは現在縮小されています。

解説

Expanded プロパティを使用すると、Node オブジェクトをプログラムで展開することができます。次の例は、先頭の Node オブジェクトをダブルクリックする操作と同じ結果になります。

TreeView1.Nodes(1).Expanded = True

Node オブジェクトが展開されると、Expand イベントが発生します。

Node オブジェクトに子ノードがない場合、Expanded プロパティの値は無効になります。


関連項目

EnsureVisible メソッド

Expand イベント

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


Expanded プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。フォームをクリックすると、各 Node オブジェクトの Expanded プロパティが真 (True) に設定されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、フォームをクリックすると、すべての Node オブジェクトが展開されます。

Private Sub Form_Load()

Dim nodX As Node

Dim i as Integer

TreeView1.BorderStyle = vbFixedSingle ' 境界線を表示します。

' ルートのノードを作成します。

Set nodX = TreeView1.Nodes.Add(,,"root","Root")

For i = 1 to 5	' 5 個の子ノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,tvwChild,,"Node " & CStr(i))

Next i

End Sub

Private Sub Form_Click()

Dim I as Integer

For I = 1 to TreeView1.Nodes.Count

' すべてのノードを展開します。

TreeView1.Nodes(i).Expanded = True

Next I

End Sub


ExpandedImage プロパティ

関連項目

関連付けられたイメージ リスト コントロール内の、ListImage オブジェクトのインデックスまたはキー値を設定します。値の取得も可能です。ListImage オブジェクトは Node オブジェクトが展開されるときに表示されます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.ExpandedImage[ = number]

ExpandedImage プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Node オブジェクトへの参照を表すオブジェクト式を指定します。

number	表示されるイメージのインデックスを表す数値式を指定します。

解説

このプロパティを使用すると、ユーザーがノードをダブルクリックしたとき、または Node オブジェクトの Expanded プロパティを真 (True) に設定したときに、Node オブジェクトに関連付けられているイメージを変更することができます。


関連項目

Expanded プロパティ

Expand イベント

Image プロパティ

イメージ リスト コントロール

ImageList プロパティ

SelectedImage プロパティ

ツリー ビュー コントロール


FirstSibling プロパティ

関連項目	例

ツリー ビュー コントロールの Node オブジェクトの、先頭の項目への参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.FirstSibling

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

先頭の項目とは、ノードの階層のレベルの、先頭の位置に表示される Node オブジェクトのことです。実際に先頭の位置に表示される Node オブジェクトは、その階層の Node オブジェクトを並べ替えているかどうか、つまり、Sorted プロパティの設定によって異なります。Node オブジェクトを並べ替えるには、Parent ノードの Sorted プロパティを真 (True) に設定します。次に例を示します。

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Node.Parent.Sorted = True

End Sub

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

Child プロパティ

LastSibling プロパティ

Node オブジェクト、Nodes コレクション

Parent プロパティ

Sorted プロパティ (ツリー ビュー コントロール)

ツリー ビュー コントロール


FirstSibling プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。FirstSibling プロパティを、Next プロパティおよび LastSibling プロパティと共に使用して、クリックされた Node オブジェクトの階層の中を移動します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ノードをクリックして、その結果を確認します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"dad","Mike") ' 先頭の項目。

Set nodX = TreeView1.Nodes.Add(,,"mom","Carol")

Set nodX = TreeView1.Nodes.Add(,,,"Alice")

' Marsha が先頭の項目です。

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Marsha")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Jan")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Cindy")

nodX.EnsureVisible ' すべてのノードを表示します。

' Greg が先頭の項目です。

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Greg")

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Peter")

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Bobby")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim strText As String

Dim n As Integer

' 変数 n に先頭の項目のインデックスを代入します。

n = Node.FirstSibling.Index

' 文字列変数に先頭の項目の文字列および改行を代入します。

strText = Node.FirstSibling.Text & Chr(10)

While n <> Node.LastSibling.Index

' n が末尾の項目のインデックスになるまで、

' 次の項目に進み、その文字列を文字列変数に設定します。

strText = strText & TreeView1.Nodes(n).Next.Text & Chr(10)

' 変数 n に次のノードのインデックスを代入します。

n = TreeView1.Nodes(n).Next.Index

Wend

MsgBox strText	' 結果を表示します。

End Sub


FullPath プロパティ (ツリー ビュー コントロール)

関連項目	例

ツリー ビュー コントロールの中で現在選択されている、Node オブジェクトの絶対パスを返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.FullPath

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

絶対パスは、選択された Node オブジェクトの Text プロパティ内の文字列と、すべての祖先の Text プロパティの値が結合されています。区切り記号は、PathSeparator プロパティの設定値が使用されます。


関連項目

Node オブジェクト、Nodes コレクション

PathSeparator プロパティ

ツリー ビュー コントロール


FullPath プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加し、それらの Node オブジェクトを選択すると、その絶対パスを表示します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、フォームをクリックすると、Node オブジェクトの絶対パスが表示されます。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,,"Root")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Dir1")

Set nodX = TreeView1.Nodes.Add(2,tvwChild,,"Dir2")

Set nodX = TreeView1.Nodes.Add(3,tvwChild,,"Dir3")

Set nodX = TreeView1.Nodes.Add(4,tvwChild,,"Dir4")

nodX.EnsureVisible	' すべてのノードを表示します。

TreeView1.Style = tvwTreelinesText ' スタイルを 4 に設定します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

MsgBox Node.FullPath

End Sub


GetVisibleCount メソッド

関連項目	例

ツリー ビュー コントロールの内部領域に設定できる Node オブジェクトの数を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.GetVisibleCount

引数 object には、ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

設定できる Node オブジェクトの数は、ウィンドウに設定できる行数によって異なります。設定できる行の総数は、コントロールの高さ、および Font オブジェクトの Size プロパティの設定によって異なります。この数には、リストの最下部にその一部だけが表示される項目も含まれます。

GetVisibleCount プロパティを使用すると、確実に最小行数を表示できるため、ユーザーが正確に階層を調べることができます。最小行数が表示されない場合、Height プロパティを使用してツリー ビュー コントロールの大きさを再設定します。

特定の Node オブジェクトを表示する場合は、EnsureVisible メソッドを使用してツリー ビュー コントロールをスクロールし、展開します。


関連項目

EnsureVisible メソッド

Height プロパティ

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


GetVisibleCount メソッドの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。フォームをクリックすると、GetVisibleCount メソッドを使用して表示される行数を調べ、コントロールを拡大してすべてのオブジェクトを表示します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、フォームをクリックすると、コントロールが拡大されます。

Private Sub Form_Load()

Dim nodX As Node

Dim i as Integer

TreeView1.BorderStyle = 1 ' 境界線を表示します。

For i = 1 to 20

Set nodX = TreeView1.Nodes.Add(,,,"Node " & CStr(i))

Next I

TreeView1.Height = 1500 ' 比較するため、ツリー ビュー コントロールの高さは低くなっています。

End Sub

Private Sub Form_Click()

While Treeview1.GetVisibleCount < 20

' ツリー ビュー コントロールを拡大します。

TreeView1.Height = TreeView1.Height + TreeView1.Font.Size

Wend

End Sub


HitTest メソッド (リスト ビュー、ツリー ビュー コントロール)

関連項目	例

x および y の座標に位置する ListItem オブジェクトまたは Node オブジェクトへの参照を返します。通常、このメソッドはドラッグ アンド ドロップ操作の中で使用され、ドロップ ターゲットとなる項目が現在の位置にあるかどうかを決定します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.HitTest (x As Single, y As Single)

HitTest メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールまたはリスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

x,y	ターゲット オブジェクトの座標を指定します。ターゲット オブジェクトは、Node オブジェクトまたは ListItem オブジェクトです。

解説

指定した座標にオブジェクトが存在しない場合、HitTest メソッドは Nothing を返します。

HitTest メソッドは、DropHighlight プロパティと共に使用し、オブジェクトをマウスでドラッグしたときに、そのオブジェクトを反転表示します。DropHighlight プロパティには、反転表示されるオブジェクトへの参照を設定します。そのオブジェクトを特定するには、DragOver イベントなど、x 座標および y 座標を返すイベントを組み合わせて HitTest メソッドを使用します。次に例を示します。

Private Sub TreeView1_DragOver _

(Source As Control, X As Single, Y As Single, State As Integer)

Set TreeView1.DropHighlight = TreeView1.HitTest(X,Y)

End Sub

続いて、DragDrop イベントで DropHighlight プロパティを使用して、移動元のコントロールがドロップされた最後のオブジェクトへの参照を返すことができます。次に例を示します。

Private Sub TreeView1_DragDrop _

(Source As Control, x As Single, y As Single)

' DropHighlight は、その上でドロップが発生したオブジェクトへの参照を返します。

Me.Caption = TreeView1.DropHighlight.Text

' DropHighlight プロパティの参照を解除するには、Nothing を設定します。

Set TreeView1.DropHighlight = Nothing

End Sub

上のプログラム例では、プロシージャが完了した後に、DropHighlight プロパティに Nothing を設定します。この処理は、反転表示を解除するために必要です。


関連項目

DragDrop イベント

DragOver イベント

DropHighLight プロパティ

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


HitTest メソッドの例 (リスト ビュー、ツリー ビュー コントロール)

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択し、選択した Node オブジェクトをドラッグして、別の Node オブジェクトの子にすることができます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびイメージ リスト コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択して別の Node オブジェクトにドラッグします。

' パブリック変数を宣言します。

Dim indrag As Boolean ' ドラッグ アンド ドロップ操作を示すフラグを作成します。

Dim nodX As Object ' ドラッグされた項目を格納します。

Private Sub Form_Load()

'イメージ リスト コントロールにピクチャをロードします。

Dim imgX As ListImage

Dim BitmapPath As String

BitmapPath = "icons\mail\mail01a.ico"

Set imgX = imagelist1.ListImages.Add(, , LoadPicture(BitmapPath))

' ツリー ビュー コントロールを初期化して複数のノードを作成します。

TreeView1.ImageList = Imagelist1

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(, , , "Parent1", 1)

Set nodX = TreeView1.Nodes.Add(, , , "Parent2", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 1", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 2", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 3", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 4", 1)

Set nodX = TreeView1.Nodes.Add(3, tvwChild, , "Child 5", 1)

nodX.EnsureVisible ' すべてのノードを拡張して表示します。

End Sub

Private Sub TreeView1_MouseDown_

(Button As Integer, Shift As Integer, x As Single, y As Single)

Set nodX = TreeView1.SelectedItem ' ドラッグされた項目を代入します。

End Sub

Private Sub TreeView1_MouseMove _

(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = vbLeftButton Then ' ドラッグ操作の場合。

indrag = True ' フラグを真に設定します。

' CreateDragImage メソッドを使用してドラッグ中のアイコンを作成します。

TreeView1.DragIcon = TreeView1.SelectedItem.CreateDragImage

TreeView1.Drag vbBeginDrag ' ドラッグ操作。

End If

End Sub

Private Sub TreeView1_DragDrop_

(Source As Control, x As Single, y As Single)

If TreeView1.DropHighlight Is Nothing Then

Set TreeView1.DropHighlight = Nothing

indrag = False

Exit Sub

Else

If nodX = TreeView1.DropHighlight Then Exit Sub

Cls

Print nodX.Text & " dropped on " & TreeView1.DropHighlight.Text

Set TreeView1.DropHighlight = Nothing

indrag = False

End If

End Sub

Private Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer)

If indrag = True Then

' DropHighlight プロパティにマウスの座標を設定します。

Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)

End If

End Sub


Indentation プロパティ

関連項目	例

ツリー ビュー コントロールにおけるインデントの幅を設定します。値の取得も可能です。新しい子 Node オブジェクトは、この値に応じてそれぞれインデントされます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Indentation[ = number]

Indentation プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

number	各子 Node オブジェクトのインデント幅を表す整数を指定します。

解説

実行時に Indentation プロパティを変更すると、ツリー ビュー コントロールは変更した新しい幅に合わせて再表示されます。このプロパティは、そのコンテナのスケール モードを使用します。プロパティの値が負の値になることはありません。


関連項目

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


Indentation プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Indentation プロパティの設定値はフォームのキャプションに表示されます。コンボ ボックス (ComboBox) コントロールには、Indentation プロパティの幅の選択肢が表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびコンボ ボックス コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、コンボ ボックス コントロールを使用して、Indentation プロパティを変更します。

Private Sub Form_Load()

With combo1	' コンボ ボックス コントロールに選択肢として代わりの値を設定します。

.AddItem "250"

.AddItem "550"

.AddItem "1000"

.ListIndex = 1

End With

Dim nodX As Node

Dim i As Integer

Set nodX = TreeView1.Nodes.Add(,,,CStr(1)) ' 先頭のノードを追加します。

For i = 1 To 6	' 6 個のノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,tvwChild,,CStr(i + 1))

Next i

nodX.EnsureVisible	' すべてのノードを表示します。

Form1.Caption = "Indentation = " & TreeView1.Indentation

End Sub

Sub combo1_Click()	' Indentation プロパティをコンボ ボックス コントロールの値に変更します。

TreeView1.Indentation = combo1.Text

Form1.Caption = "Indentation = " & TreeView1.Indentation

End Sub


LabelEdit プロパティ

関連項目	例

ユーザーが、ListItem オブジェクト (リスト ビュー) のラベル、または Node オブジェクト (ツリー ビュー) のラベルを編集できるかどうかを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.LabelEdit [ = integer]

LabelEdit プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールまたはリスト ビュー コントロールへの参照を表すオブジェクト式を指定します。

integer	Node オブジェクトまたは ListItem オブジェクトのラベルを編集できるかどうかを整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

integer の設定値は次のとおりです。

定数	値	内容

lvwAutomatic	0	(既定値) 自動。ユーザーが選択したノードのラベルをクリックすると、BeforeLabelEdit イベントが発生します。

lvwManual	1	手動。StartLabelEdit メソッドが呼び出された場合にのみ、BeforeLabelEdit イベントが発生します。

注   上に示した定数は、リスト ビュー コントロールの場合です。ツリー ビュー コントロールの場合の定数は、tvwAutomatic および tvwManual です。

解説

オブジェクトのラベルを編集するには、選択したオブジェクトをクリックします。通常、1 度めのクリックでオブジェクトを選択し、選択したオブジェクトをもう 1 度をクリックしてラベルの編集を開始します。

LabelEdit プロパティと StartLabelEdit メソッドを組み合わせて使用すると、いつ、どのラベルを編集できるかをプログラムで決定できます。LabelEdit プロパティを 1 に設定すると、StartLabelEdit メソッドを呼び出さない限り、ラベルは編集できません。次のコード例では、ユーザーはコマンド ボタンをクリックして、Node オブジェクトのラベルを編集します。

Private Sub Command1_Click()

' 正しいノードが選択されているかどうかを決定します。

If TreeView1.SelectedItem.Index = 1 Then

TreeView1.StartLabelEdit ' ユーザーが編集を開始します。

End If

End Sub


関連項目

AfterLabelEdit イベント

BeforeLabelEdit イベント

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

リスト ビュー コントロールの定数

Node オブジェクト、Nodes コレクション

StartLabelEdit メソッド

ツリー ビュー コントロールの定数

ツリー ビュー コントロール


LabelEdit プロパティの例

次のプログラムでは、コマンド ボタンをクリックすると、ラベル編集が開始されます。ルートの Node オブジェクト以外の Node オブジェクトを編集できます。LabelEdit プロパティは、手動に設定してください。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびコマンド ボタンを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、編集するノードを選択してコマンド ボタンを押します。

Private Sub Form_Load()

Dim nodX As Node

Dim i As Integer

TreeView1.LabelEdit = tvwManual	' LabelEdit プロパティを手動に設定します。

Set nodX = TreeView1.Nodes.Add(,,," Node 1")	' 先頭のノードを追加します。

For i = 1 to 5	' 5 個のノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,tvwChild,,"Node " & CStr(i + 1))

Next I

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub Command1_Click()

' 選択したノード上で StartLabelEdit メソッドを呼び出すと、

' BeforeLabelEdit イベントが発生します。

TreeView1.StartLabelEdit

End Sub

Private Sub TreeView_BeforeLabelEdit (Cancel as Integer)

' 選択した項目がルートの場合、編集は取り消されます。

If TreeView1.SelectedItem Is TreeView1.SelectedItem.Root Then

Cancel = True

End If

End Sub

Private Sub TreeView_AfterLabelEdit _

(Cancel As Integer, NewString As String)

' ユーザーが文字列を入力し、Enter キーを押したものとします。

' 空白以外の文字列であればすべて有効です。

If Len(NewString) = 0 Then

Cancel = True

End If

End Sub


LastSibling プロパティ

関連項目	例

ツリー ビュー コントロールの Node オブジェクトの、末尾の項目への参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.LastSibling

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

末尾の項目とは、ノードの階層のレベルの、末尾に表示される Node オブジェクトです。実際に末尾に表示される Node オブジェクトは、その階層の Node オブジェクトを並べ替えているかどうか、つまり、Sorted プロパティの設定によって異なります。あるレベルの Node オブジェクトを並べ替えるには、Parent ノードの Sorted プロパティを真 (True) に設定します。次に例を示します。

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Node.Parent.Sorted = True

End Sub

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

FirstSibling プロパティ

Next プロパティ

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


LastSibling プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。LastSibling プロパティを、Next プロパティおよび FirstSibling プロパティと共に使用して、クリックされた Node オブジェクトの階層レベルの中を移動します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ノードをクリックして、その結果を確認します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"dad","Mike")

Set nodX = TreeView1.Nodes.Add(,,"mom","Carol")

' Alice が末尾の項目です。

Set nodX = TreeView1.Nodes.Add(,,,"Alice")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Marsha")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Jan")

' Cindy が末尾の項目です。

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Cindy")

nodX.EnsureVisible ' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Greg")

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Peter")

' Bobby が末尾の項目です。

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Bobby")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim strText As String

Dim n As Integer

' 変数 n に先頭の項目のインデックスを代入します。

n = Node.FirstSibling.Index

' 文字列変数に先頭の項目の文字列および改行を設定します。

strText = Node.FirstSibling.Text & Chr(10)

While n <> Node.LastSibling.Index

' n が最後の項目のインデックスになるまで、

' 次の項目に進み、その文字列を文字列変数に設定します。

strText = strText & TreeView1.Nodes(n).Next.Text & Chr(10)

' 変数 n に次のノードのインデックスを代入します。

n = TreeView1.Nodes(n).Next.Index

Wend

MsgBox strText ' 結果を表示します。

End Sub


LineStyle プロパティ

関連項目	例

Node オブジェクト間に表示される線のスタイルを設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.LineStyle [ = number]

LineStyle プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

number	「設定値」に示すように、線のスタイルを表す値または定数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

定数	値	内容

tvwTreeLines	0	(既定値) TreeLines。Node オブジェクトの兄弟およびその親 Node オブジェクト間の線を表示します。

tvwRootLines	1	RootLines。Node オブジェクトの兄弟およびその親 Node オブジェクト間の線の表示に加えて、ルートのノード間の線も表示します。

解説

Style プロパティを、ツリー ラインを含むスタイルに設定してください。


関連項目

Style プロパティ (ツリー ビュー コントロール)

ツリー ビュー コントロール

ツリー ビュー コントロールの定数


LineStyle プロパティの例

次のプログラムでは、イメージを伴う複数の Node オブジェクトをツリー ビュー コントロールに追加します。LineStyle プロパティおよび Style プロパティは、2 つのコンボ ボックス (ComboBox) コントロールに表示されている別のスタイルを選択して変更できます。このプログラムを実行するには、フォーム上にツリー ビュー コントロール、イメージ リスト コントロール、および 2 つのコンボ ボックス コントロールを設定し、コードをフォームの宣言セクションに貼り付けます。プログラムを実行し、どちらかのコンボ ボックス コントロールをクリックして、LineStyle プロパティおよび Style プロパティを変更します。

Private Sub Form_Load()

' イメージ リスト コントロールにイメージを追加します。

Dim imgX As ListImage

Set imgX = ImageList1.ListImages. _

Add(,,LoadPicture("bitmaps\outline\leaf.bmp"))

TreeView1.ImageList = ImageList1 ' ImageList プロパティを初期化します。

With combo1	' コンボ ボックス コントロールに線のスタイルを表示します。

.AddItem "Tree lines"

.AddItem "Root lines"

.ListIndex = 0	' 既定値はツリー ラインです。

End With

With Combo2	' コンボ ボックス コントロールにすべてのスタイルを設定します。

.AddItem "Text only"	' スタイルを 0 に設定します。

.AddItem "Image & text"	' スタイルを 1 に設定します。

.AddItem "Plus/minus & text"	' スタイルを 2 に設定します。

.AddItem "Plus/minus, image & text"	' スタイルを 3 に設定します。

.AddItem "Lines & text"	' スタイルを 4 に設定します。

.AddItem "Lines, image & Text"	' スタイルを 5 に設定します。

.AddItem "Lines, plus/minus & Text"	' スタイルを 6 に設定します。

.AddItem "Lines, plus/minus, image & text"	' スタイルを 7 に設定します。

.ListIndex = 7

End With

Dim nodX As Node

Dim i as Integer

' ルートのノードを作成します。

Set nodX = TreeView1.Nodes.Add(,,,"Node " & "1",1)

For i = 1 to 5	' 5 個のノードを作成します。

Set nodX = TreeView1.Nodes. _

Add(i,tvwChild,,"Node " & CStr(i + 1),1)

Next I

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub combo1_Click()

' コンボ ボックス コントロールから線のスタイルを変更します。

TreeView1.LineStyle = combo1.ListIndex

End Sub

Sub combo2_Click()	' コンボ ボックス コントロールでスタイルを変更します。

TreeView1.Style = Combo2.ListIndex

Form1.Caption = "Indentation = " & Combo1.Text

End Sub


Next プロパティ

関連項目	例

ツリー ビュー コントロールの Node オブジェクトの、次の項目の Node オブジェクトへの参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Next

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

FirstSibling プロパティ

LastSibling プロパティ

Previous プロパティ

ツリー ビュー コントロール


Next プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。LastSibling プロパティを、Next プロパティおよび FirstSibling プロパティと共に使用して、クリックされた Node オブジェクトの階層の中を移動します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ノードをクリックして、その結果を確認します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"dad","Mike")

Set nodX = TreeView1.Nodes.Add(,,"mom","Carol")

' Alice が末尾の項目です。

Set nodX = TreeView1.Nodes.Add(,,,"Alice")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Marsha")

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Jan")

' Cindy が末尾の項目です。

Set nodX = TreeView1.Nodes.Add("mom",tvwChild,,"Cindy")

nodX.EnsureVisible ' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Greg")

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Peter")

' Bobby が末尾の項目です。

Set nodX = TreeView1.Nodes.Add("dad",tvwChild,,"Bobby")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim strText As String

Dim n As Integer

' 変数 n に先頭の項目のインデックスを代入します。

n = Node.FirstSibling.Index

' 文字列変数に先頭の項目の文字列および改行を代入します。

strText = Node.FirstSibling.Text & Chr(10)

' n が最後の項目のインデックスになるまで、

' 次の項目に進み、その文字列を文字列変数に設定します。

While n <> Node.LastSibling.Index

strText = strText & TreeView1.Nodes(n).Next.Text & Chr(10)

' 変数 n に次のノードのインデックスを代入します。

n = TreeView1.Nodes(n).Next.Index

Wend

MsgBox strText ' 結果を表示します。

End Sub


NodeClick イベント

関連項目	例

Node オブジェクトがクリックされると発生します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

Private Sub object_NodeClick(ByVal node As Node)

NodeClick イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

node	クリックした Node オブジェクトへの参照が渡されます。

解説

標準の Click イベントは、ユーザーがツリー ビュー コントロールのいずれかの部分をクリックすると発生します。これに対して NodeClick イベントは、ユーザーが特定の Node オブジェクトをクリックすると発生します。NodeClick イベントは特定の Node オブジェクトへの参照も返すので、以降の操作を行う前に、この参照を使用して Node オブジェクトを特定することができます。

NodeClick イベントは、標準の Click イベントの前に発生します。


関連項目

Node オブジェクト、Nodes コレクション

SelectedItem プロパティ

ツリー ビュー コントロール


NodeClick イベントの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトをクリックすると NodeClick イベントが発生し、Node オブジェクトのインデックスおよび文字列が取得されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、任意の Node オブジェクトをクリックします。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"R","Root")

nodX.Expanded = True

Set nodX = TreeView1.Nodes.Add(,,"P","Parent")

nodX.Expanded = True

Set nodX = TreeView1.Nodes.Add("R",tvwChild,,"Child 1")

Set nodX = TreeView1.Nodes.Add("R",tvwChild,,"Child 2")

Set nodX = TreeView1.Nodes.Add("R",tvwChild,,"Child 3")

Set nodX = TreeView1.Nodes.Add("P",tvwChild,,"Child 4")

Set nodX = TreeView1.Nodes.Add("P",tvwChild,,"Child 5")

Set nodX = TreeView1.Nodes.Add("P",tvwChild,,"Child 6")

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Form1.Caption = "Index = " & Node.Index & " Text:" & Node.Text

End Sub


Nodes プロパティ

関連項目	例

ツリー ビュー コントロールの Node オブジェクトのコレクションへの参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Nodes

引数 object には、ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

コレクションに標準で用意されているメソッド (Add メソッドおよび Remove メソッドなど) を使用して、Node オブジェクトを操作できます。コレクション内の各要素は、インデックス、または Key プロパティに格納する重複しないキーを使用して、参照または操作できます。


関連項目

Add メソッド (Nodes コレクション)

Clear メソッド

Index プロパティ

Item メソッド

Key プロパティ

Node オブジェクト、Nodes コレクション

Remove メソッド

ツリー ビュー コントロール


Nodes プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。フォームをクリックすると、各 Node オブジェクトへの参照を使用して、各 Node オブジェクトの文字列が表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、フォームをクリックします。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,"R","Root")

Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C1","Child 1")

Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C2","Child 2")

Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C3","Child 3")

Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C4","Child 4")

nodX.EnsureVisible

TreeView1.Style = tvwTreelinesText ' スタイルを 4 に設定します。

TreeView1.BorderStyle = vbFixedSingle

End Sub

Private Sub Form_Click()

Dim i As Integer

Dim strNodes As String

For i = 1 To TreeView1.Nodes.Count

strNodes = strNodes & TreeView1.Nodes(i).Index & " " & _

"Key: " & TreeView1.Nodes(i).Key & " " & _

"Text: " & TreeView1.Nodes(i).Text & Chr(10)

Next i

MsgBox strNodes

End Sub


Parent プロパティ (Node オブジェクト)

関連項目	例

Node オブジェクトの親オブジェクトを設定します。値の取得も可能です。デザイン時には使えません。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Parent[ = node]

Parent プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Node オブジェクトへの参照を表すオブジェクト式を指定します。

node	オブジェクトの親になる Node オブジェクトを指定します。

解説

実行時に、ループを作成するオブジェクトにこのプロパティを設定するとエラーが発生します。たとえば、どの Node オブジェクトも、そのオブジェクトの子孫の子 Node になることはできません。

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

Child プロパティ

FirstSibling プロパティ

LastSibling プロパティ

Next プロパティ

Node オブジェクト、Nodes コレクション

Previous プロパティ

Root プロパティ


Parent プロパティの例 (Node オブジェクト)

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択し、選択した Node オブジェクトをドラッグして、別の Node オブジェクトの子にすることができます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびイメージ リスト コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択して別の Node オブジェクトにドラッグします。

' パブリック変数を宣言します。

' Declare global variables.

Dim indrag As Boolean ' ドラッグ アンド ドロップ操作を示すフラグを作成します。

Dim nodX As Object ' ドラッグされた項目を格納します。

Private Sub Form_Load()

'イメージ リスト コントロールにピクチャをロードします。

Dim imgX As ListImage

Dim BitmapPath As String

BitmapPath = "icons\mail\mail01a.ico"

Set imgX = ImageList1.ListImages.Add(, , LoadPicture(BitmapPath))

' ツリー ビュー コントロールを初期化して複数のノードを作成します。

TreeView1.ImageList = Imagelist1

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(, , , "Parent1", 1)

Set nodX = TreeView1.Nodes.Add(, , , "Parent2", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 1", 1)

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Child 2", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 3", 1)

Set nodX = TreeView1.Nodes.Add(2, tvwChild, , "Child 4", 1)

Set nodX = TreeView1.Nodes.Add(3, tvwChild, , "Child 5", 1)

nodX.EnsureVisible ' すべてのノードを拡張して表示します。

End Sub

Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

Set nodX = TreeView1.SelectedItem ' ドラッグされた項目を代入します。

Set TreeView1.DropHighlight = Nothing

End Sub

Private Sub TreeView1_MouseMove _

(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = vbLeftButton Then ' ドラッグ操作の場合。

indrag = True ' フラグを真に設定します。

' CreateDragImage メソッドを使用してドラッグ中のアイコンを作成します。

TreeView1.DragIcon = TreeView1.SelectedItem.CreateDragImage

TreeView1.Drag vbBeginDrag ' ドラッグ操作。

End If

End Sub

Private Sub TreeView1_DragDrop(Source As Control, x As Single, y As Single)

' マウスを移動しなかった、または無効な領域でマウス ボタンを離した場合

If TreeView1.DropHighlight Is Nothing Then

indrag = False

Exit Sub

Else

' ドラッグされたノードの Parent プロパティにドロップ ターゲットのノードを設定します。

On Error GoTo checkerror ' 循環エラーを防ぎます。

Set nodX.Parent = TreeView1.DropHighlight

Cls

Print TreeView1.DropHighlight.Text & _

" is parent of " & nodX.Text

' DropHighlight プロパティの参照を解除します。

Set TreeView1.DropHighlight = Nothing

indrag = False

Exit Sub ' エラーがない場合に Sub を終了します。

End If

checkerror:

' Visual Basic のエラー コードを定義します。

Const CircularError = 35614

If Err.Number = CircularError Then

Dim msg As String

msg = "ノード自体の子ノードにはできません。"

' 感嘆符を付けてメッセージを表示します。

If MsgBox(msg, vbExclamation & vbOKCancel) = vbOK Then

' DropHighlight プロパティの参照を解除します。

indrag = False

Set TreeView1.DropHighlight = Nothing

Exit Sub

End If

End If

End Sub

Private Sub TreeView1_DragOver(Source As Control, x As Single, y As Single, State As Integer)

Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)

End Sub


PathSeparator プロパティ (ツリー ビュー コントロール)

関連項目	例

FullPath プロパティで返されるパスで使用する区切り記号を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.PathSeparator [ = string]

PathSeparator プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

string	PathSeparator を決定する文字列を指定します。通常は単一の文字です。

解説

既定の文字は "\" です。


関連項目

FullPath プロパティ

ツリー ビュー コントロール


PathSeparator プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加し、コンボ ボックス (ComboBox) コントロールを使用して、PathSeparator プロパティを変更します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールおよびコンボ ボックス コントロールを設定し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択し、フォームをクリックします。コンボ ボックス コントロールを使用して PathSeparator プロパティの値を変更します。

Private Sub Form_Load

TreeView1.BorderStyle = vbFixedSingle   ' 境界線を表示します。

With combo1	' コンボ ボックス コントロールに別の文字を設定します。

.AddItem "/"

.AddItem "-"

.AddItem ":"

.ListIndex = 1

End With

Dim nodX As Node

Dim i As Integer

Set nodX = TreeView1.Nodes.Add(,,,CStr(1)) 	' 先頭のノードを追加します。

For i = 1 to 5	' 他のノードを追加します。

Set nodX = TreeView1.Nodes.Add(i,tvwChild,,CStr(i + 1))

Next i

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub combo1_Click()	' 区切り文字を変更します。

TreeView1.PathSeparator = combo1.Text

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

' フォームのキャプションにパスを表示します。

Me.Caption = Node.FullPath

End Sub


Previous プロパティ (Node オブジェクト)

関連項目	例

Node オブジェクトの前の項目への参照を返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object. Previous

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティを変更します。

End With


関連項目

FirstSibling プロパティ

LastSibling プロパティ

Node オブジェクト、Nodes コレクション

Parent プロパティ


Previous プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Previous プロパティを、LastSibling プロパティおよび FirstSibling プロパティと共に使用して、クリックされた Node オブジェクトの階層の中を移動します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ノードをクリックして、その結果を確認します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(, , "r", "Root")

Set nodX = TreeView1.Nodes.Add(, , "p", "parent")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, , "Child 1")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, , "Child 2")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, , "Child 3")

nodX.EnsureVisible ' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("p", tvwChild, , "Child 4")

Set nodX = TreeView1.Nodes.Add("p", tvwChild, , "Child 5")

Set nodX = TreeView1.Nodes.Add("p", tvwChild, , "Child 6")

nodX.EnsureVisible ' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim strText As String

Dim n As Integer

' 変数 n に末尾の項目のインデックスを代入します。

n = Node.LastSibling.Index

' 文字列変数に最後の項目の文字列および改行を設定します。

strText = Node.LastSibling.Text & Chr(10)

While n <> Node.FirstSibling.Index

' n が先頭の項目のインデックスになるまで、

' 前の項目に進み、その文字列を文字列変数に設定します。

strText = strText & TreeView1.Nodes(n).Previous.Text & Chr(10)

' 変数 n に前のノードのインデックスを代入します。

n = TreeView1.Nodes(n).Previous.Index

Wend

MsgBox strText ' 結果を表示します。

End Sub


Root プロパティ (Node オブジェクト)

関連項目	例

選択された Node オブジェクトのルートの Node オブジェクトを返します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Root

引数 object には、Node オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Child、FirstSibling、LastSibling、Previous、Parent、Next、および Root の各プロパティは、操作中の Node オブジェクトとは別の Node オブジェクトへの参照を返します。したがって、Node オブジェクトの参照と操作を同時に行うことができます。

With TreeView1.Nodes(x).Child

.Text = "New text"

.Key = "New key"

.SelectedImage = 3

End With

また、次に示すように、オブジェクト変数に参照先 Node を設定することもできます。

Dim NodChild As Node

' ノード x の子への参照を取得します。

Set NodChild = TreeView1.Nodes(x).Child

' この参照を使用して、子ノード上で操作します。

With nodChild

.Text = "New text"	' 文字列を変更します。

.Key = "New key"	' キーを変更します。

.SelectedImage = 3	' SelectedImage プロパティのイメージを変更します。

End With


関連項目

FirstSibling プロパティ

LastSibling プロパティ

Node オブジェクト、Nodes コレクション

Parent プロパティ (Node オブジェクト)

SelectedItem プロパティ


Root プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトをクリックすると、ルートのノードに向かってツリーを移動し、各親ノードの文字列を表示します。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトをクリックします。

Private Sub Form_Load()

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(,,"r", "Root")

Set nodX = TreeView1.Nodes.Add(,,"p", "Parent")

Set nodX = TreeView1.Nodes.Add("p",tvwChild,, "Child 1")

nodX.EnsureVisible	' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("r",tvwChild,"C2", "Child 2")

Set nodX = TreeView1.Nodes.Add("C2",tvwChild,"C3", "Child 3")

Set nodX = TreeView1.Nodes.Add("C3",tvwChild,, "Child 4")

Set nodX = TreeView1.Nodes.Add("C3",tvwChild,, "Child 5")

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Object)

Dim n As Integer

Dim strParents As String 	' 表示用の変数を宣言します。

n = Node.Index	' 変数 n にクリックされたノードのインデックスを代入します。

strParents = Node.Text & Chr(10)

While n <> Node.Root.Index

strParents = strParents & _

TreeView1.Nodes(n).Parent.Text & Chr(10)

' 変数 n に次の親ノードのインデックスを代入します。

n = TreeView1.Nodes(n).Parent.Index

Wend

MsgBox strParents

End Sub


Selected プロパティ (カスタム コントロール)

関連項目	例

特定の ListItem オブジェクト、Node オブジェクト、または Tab オブジェクトへの参照を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Selected [ = boolean]

Selected プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ListItem オブジェクト、Node オブジェクト、または Tab オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	オブジェクトが選択されているかどうかを決定するブール式を指定します。

解説

Selected プロパティは、特定の ListItem オブジェクト、Node オブジェクト、または Tab オブジェクトをプログラムで選択するのに使用します。この方法で一度選択したオブジェクトには、プロパティの設定やメソッドの呼び出しなど、さまざまな操作を実行することができます。

特定の Node オブジェクトを選択するには、その Index プロパティまたは Key プロパティのいずれかの値で参照します。次の例では、ツリー ビュー コントロールの特定の Node オブジェクトを選択します。

Private Sub Command1_Click()

ListView1.ListItems(3).Selected = True ' オブジェクトを選択します。

' SelectedItem プロパティを使用して、オブジェクトへの参照を取得します。

ListView1.SelectedItem.Text = "Changed Text"

End Sub

リスト ビュー コントロールでは、SelectedItem プロパティは、最初に選択した項目を常に参照します。したがって、複数の項目を選択している場合は、すべての項目について、その項目の Selected プロパティを調べる必要があります。


関連項目

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

Node オブジェクト、Nodes コレクション

SelectedItem プロパティ

ツリー ビュー コントロール


Selected プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択すると、選択した Node オブジェクトへの参照を使用して、そのキーが表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択し、フォームをクリックします。

Private Sub Form_Load()

Dim nodX As Node	' ツリーを作成します。

Set nodX = TreeView1.Nodes.Add(,,"r","Root")

Set nodX = TreeView1.Nodes.Add(,,"p","Parent")

Set nodX = TreeView1.Nodes.Add("p",tvwChild,,"Child 1")

nodX.EnsureVisible	' すべてのノードを表示します。

Set nodX = TreeView1.Nodes.Add("r",tvwChild,"C2","Child 2")

Set nodX = TreeView1.Nodes.Add("C2",tvwChild,"C3","Child 3")

Set nodX = TreeView1.Nodes.Add("C3",tvwChild,,"Child 4")

Set nodX = TreeView1.Nodes.Add("C3",tvwChild,,"Child 5")

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub Form_Click()

Dim intX As Integer

On Error Resume Next	' 整数が入力されない場合。

intX = InputBox("Check Node",,TreeView1.SelectedItem.Index)

If IsNumeric(intX) Then	' 整数が入力されたことを確認します。

If TreeView1.Nodes(intX).Selected = True Then

MsgBox TreeView1.Nodes(intX).Text & " が選択されました。"

Else

MsgBox "何も選択されていません。"

End If

End If

End Sub

次のプログラムでは、3 つの ListItem オブジェクトをリスト ビュー コントロールに追加します。フォームをクリックすると、Selected プロパティを使用して、特定の ListItem オブジェクトが選択されたかどうかを示します。このプログラムを実行するには、フォーム上にリスト ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、ListItem オブジェクトを選択し、フォームをクリックします。

Private Sub Form_Load()

Listview1.BorderStyle = vbFixedSingle  ' 境界線を表示します。

Dim itmX As ListViewItem

Set itmX = ListView1.ListItems.Add(,,"Item 1")

Set itmX = ListView1.ListItems.Add(,,"Item 2")

Set itmX = ListView1.ListItems.Add(,,"Item 3")

End Sub

Private Sub Form_Click()

Dim intX As Integer

On Error Resume Next ' 整数が入力されない場合。

intX = InputBox("Check Item", , Listview1.SelectedItem.Index)

If IsNumeric(intX) Then	' 整数が入力されたことを確認します。

If ListView1.ListItems(intX).Selected = True Then

MsgBox ListView1.ListItems(intX).Text & " が選択されました。"

Else

MsgBox "何も選択されていません。"

End If

End If

End Sub


SelectedImage プロパティ

関連項目

関連付けられたイメージ リスト コントロールの ListImage オブジェクトの、インデックスまたはキーの値を設定します。値の取得も可能です。ListImage オブジェクトは、Node オブジェクトが選択されると表示されます。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.SelectedImage [ = index]

SelectedImage プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Node オブジェクトへの参照を表すオブジェクト式を指定します。

index	関連付けられたイメージ リスト コントロールの ListImage オブジェクトを識別する、整数または重複しない文字列を指定します。整数は ListImage オブジェクトの Index プロパティの値で、文字列は Key プロパティの値を示します。

解説

SelectedImage プロパティが Null 値の場合、Image プロパティで指定する既定のイメージの入力書式が使用されます。


関連項目

Image プロパティ

イメージ リスト コントロール

ツリー ビュー コントロール


SelectedItem プロパティ

関連項目	例

選択された ListItem オブジェクト、Node オブジェクト、または Tab オブジェクトへの参照を返します。

構文

object.SelectedItem

引数 object には、リスト ビュー コントロール、ツリー ビュー コントロール、またはタブ ストリップ コントロールへの参照を表すオブジェクト式を指定します。

解説

SelectedItem プロパティを使用して、選択したオブジェクトのプロパティの設定やメソッドの呼び出しを行うことができます。通常、このプロパティは、ユーザーがクリックまたは選択した、ListItem オブジェクト、Node オブジェクト、または Tab オブジェクトへの参照を返すのに使用します。この参照を使用すると、以降の操作を行う前に、オブジェクトを特定することができます。

Command1_Click()

' 選択したオブジェクトがルートでない場合、ノードを削除します。

If TreeView1.SelectedItem.Index <> 1 Then

Treeview1.Nodes.Remove TreeView1.SelectedItem.Index

End If

End Sub


関連項目

リスト ビュー コントロール

Selected プロパティ

ツリー ビュー コントロール


SelectedItem プロパティの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択した後で、フォームをクリックすると、Node オブジェクトのさまざまなプロパティが表示されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを設定します。プログラムを実行し、Node オブジェクトを選択し、フォームをクリックします。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(, , "r", "Root")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, "c1", "Child 1")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, "c2", "Child 2")

Set nodX = TreeView1.Nodes.Add("r", tvwChild, "c3", "Child 3")

Set nodX = TreeView1.Nodes.Add("c3", tvwChild, "c4", "Child 4")

Set nodX = TreeView1.Nodes.Add("c3", tvwChild, "c5", "Child 5")

Set nodX = TreeView1.Nodes.Add("c5", tvwChild, "c6", "Child 6")

Set nodX = TreeView1.Nodes.Add("c5", tvwChild, "c7", "Child 7")

nodX.EnsureVisible

TreeView1.BorderStyle = vbFixedSingle

End Sub

Private Sub Form_Click()

Dim nodX As Node

' 変数に SelectedItem プロパティの返すオブジェクトを設定します。

Set nodX = TreeView1.SelectedItem

Dim strProps As String

' ノードのプロパティを取得します。

strProps = "Text: " & nodX.Text & Chr(10)

strProps = strProps & "Key: " & nodX.Key & Chr(10)

On Error Resume Next ' ルートのノードに親ノードはありません。

strProps = strProps & "Parent: " & nodX.Parent.Text & Chr(10)

strProps = strProps & "FirstSibling: " & _

nodX.FirstSibling.Text & Chr(10)

strProps = strProps & "LastSibling: " & _

nodX.LastSibling.Text & Chr(10)

strProps = strProps & "Next: " & nodX.Next.Text & Chr(10)

MsgBox strProps

End Sub


Sorted プロパティ (ツリー ビュー コントロール)

関連項目	例

Node オブジェクトの子ノードを、アルファベット順に並べ替えるかどうかを示す値を設定します。値の取得も可能です。

ツリー ビュー コントロールのルートのノードを、アルファベット順に並べ替えるかどうかを示す値を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Sorted [ = boolean]

Sorted プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	Node オブジェクトまたはツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

boolean	Node オブジェクトを並べ替えるかどうかを表すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

boolean の設定値は次のとおりです。

設定値	内容

True	Node オブジェクトはアルファベット順に並べ替えます。

False	Node オブジェクトは並べ替えません。

解説

Sorted プロパティには、2 とおりの使い方があります。1 つは、ツリー ビュー コントロールのルート (トップ) の Node オブジェクトを並べ替える場合、もう 1 つは、各 Node オブジェクトの子ノードを並べ替える場合に使用できます。たとえば、次のプログラムでは、ツリー ビュー コントロールのルートのノードを並べ替えます。

Private Sub Command1_Click()

TreeView1.Sorted = True	' ルートの Node オブジェクトを並べ替えます。

End Sub

次のプログラムでは、Node オブジェクトを作成するときに Sorted プロパティを設定します。

Private Sub Form_Load()

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,,"Parent Node")

nodX.Sorted = True

End Sub

どちらのプログラムでも、Sorted プロパティを真 (True) に設定すると、Node オブジェクト、またはツリー ビュー コントロールに新しく追加される、Node オブジェクトが自動的に並べ替えられます。


関連項目

Node オブジェクト、Nodes コレクション


Sorted プロパティの例 (ツリー ビュー コントロール)

次のプログラムでは、複数の Node オブジェクトをツリーに追加します。Node オブジェクトをクリックすると、Node オブジェクトを並べ替えるかどうかについて、確認を求められます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトをクリックして並べ替えます。

Private Sub Form_Load()

' 複数の Node オブジェクトを並べ替えないでツリーを作成します。

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(, , , "Adam")

Set nodX = TreeView1.Nodes.Add(1, tvwChild, "z", "Zachariah")

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Noah")

Set nodX = TreeView1.Nodes.Add(1, tvwChild, , "Abraham")

Set nodX = TreeView1.Nodes.Add("z", tvwChild, , "Stan")

Set nodX = TreeView1.Nodes.Add("z", tvwChild, , "Paul")

Set nodX = TreeView1.Nodes.Add("z", tvwChild, "f", "Frances")

Set nodX = TreeView1.Nodes.Add("f", tvwChild, , "Julie")

Set nodX = TreeView1.Nodes.Add("f", tvwChild, "c", "Carol")

Set nodX = TreeView1.Nodes.Add("f", tvwChild, , "Barry")

Set nodX = TreeView1.Nodes.Add("c", tvwChild, , "Yale")

Set nodX = TreeView1.Nodes.Add("c", tvwChild, , "Harvard")

nodX.EnsureVisible

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As Node)

Dim answer As Integer

' 子ノードがあるかどうかをチェックします。

If Node.Children > 1 Then ' 複数の子ノードがあります。

answer = MsgBox("このノードを並べ替えますか。", vbYesNo)  ' プロンプトを表示します。

If answer = vbYes Then	' 並べ替えます。

Node.Sorted = True

End If

End If

End Sub


Style プロパティ (ツリー ビュー コントロール)

関連項目	例

ツリー ビュー コントロールの各 Node オブジェクトに対して表示されるグラフィックス (イメージ、文字列、プラス/マイナス、および線) のスタイル、および文字列を設定します。値の取得も可能です。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.Style [ = number]

Style プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	ツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

number	グラフィックスのスタイルを表す整数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

number の設定値は次のとおりです。

設定値	内容

0	文字列のみ。

1	イメージおよび文字列。

2	プラス/マイナスおよび文字列。

3	プラス/マイナス、イメージ、および文字列。

4	線および文字列。

5	線、イメージ、および文字列。

6	線、プラス/マイナス、および文字列。

7	(既定値) 線、プラス/マイナス、イメージ、および文字列。

解説

Style プロパティに線を含む値を設定している場合、線の表示の状態はLineStyle プロパティで決定します。Style プロパティに線を含まない値を設定している場合、LineStyle プロパティは無視されます。


関連項目

LineStyle プロパティ

ツリー ビュー コントロールの定数


Style プロパティの例 (ツリー ビュー コントロール)

次のプログラムでは、イメージを伴う複数の Node オブジェクトをツリー ビュー コントロールに追加します。LineStyle プロパティおよび Style プロパティは、2 つのコンボ ボックス (ComboBox) コントロールに表示している別のスタイルを選択して変更できます。このプログラムを実行するには、フォーム上にツリー ビュー コントロール、イメージ リスト コントロール、および 2 つのコンボ ボックス コントロールを設定し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、どちらかのコンボ ボックス コントロールをクリックして、LineStyle プロパティおよび Style プロパティを変更します。

Private Sub Form_Load()

' イメージ リスト コントロールにイメージを追加します。

Dim imgX As ListImage

Set imgX = ImageList1.ListImages. _

Add(,,LoadPicture("bitmaps\outline\leaf.bmp"))

TreeView1.ImageList = ImageList1  ' ImageList プロパティを初期化します。

With combo1	' コンボ ボックス コントロールに線のスタイルを設定します。

.AddItem "Tree lines"

.AddItem "Root lines"

.ListIndex = 0	' 既定値はツリー ラインです。

End With

With Combo2     ' コンボ ボックス コントロールにすべてのスタイルを設定します。

.AddItem "Text Only"	' スタイルを 0 に設定します。

.AddItem "Image & text"	' スタイルを 1 に設定します。

.AddItem "Plus/minus & text"	' スタイルを 2 に設定します。

.AddItem "Plus/minus, image & Text"	' スタイルを 3 に設定します。

.AddItem "Lines & Text"	' スタイルを 4 に設定します。

.AddItem "Lines, image & Text"	' スタイルを 5 に設定します。

.AddItem "Lines, Plus/minus & Text"	' スタイルを 6 に設定します。

.AddItem "Lines, plus/minus, image & text"	' スタイルを 7 に設定します。

.ListIndex = 7

End With

Dim nodX As Node

Dim i as Integer

' ルートのノードを作成します。

Set nodX = TreeView1.Nodes.Add(,,,"Node 1",1)

For i = 1 to 5	' 5 個のノードを追加します。

Set nodX = TreeView1.Nodes. _

Add(i,tvwChild,,"Node " & CStr(i + 1),1)

Next I

nodX.EnsureVisible	' すべてのノードを表示します。

End Sub

Private Sub combo1_Click()

' コンボ ボックス コントロールから線のスタイルを変更します。

TreeView1.LineStyle = combo1.ListIndex

End Sub

Sub combo2_Click()	' コンボ ボックス コントロールでスタイルを変更します。

TreeView1.Style = Combo2.ListIndex

Form1.Caption = "Indentation = " & Combo1.Text

End Sub


StartLabelEdit メソッド

関連項目	例

ユーザーによるラベルの編集を開始します。

重要   このオブジェクトは、Microsoft Windows 95 または Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.StartLabelEdit

引数 object には、リスト ビュー コントロールまたはツリー ビュー コントロールへの参照を表すオブジェクト式を指定します。

解説

StartLabelEdit メソッドは、LabelEdit プロパティが 1 (手動) に設定されている場合に、ラベル編集の操作を開始するのに使用します。

オブジェクト上で StartLabelEdit メソッドを呼び出すと、BeforeLabelEdit イベントが発生します。


関連項目

AfterLabelEdit イベント

BeforeLabelEdit イベント

LabelEdit プロパティ

ListItem オブジェクト、ListItems コレクション

リスト ビュー コントロール

Node オブジェクト、Nodes コレクション

ツリー ビュー コントロール


StartLabelEdit メソッドの例

次のプログラムでは、複数の Node オブジェクトをツリー ビュー コントロールに追加します。Node オブジェクトを選択した後で、フォームをクリックすると、編集が開始されます。このプログラムを実行するには、フォーム上にツリー ビュー コントロールを配置し、このフォーム モジュールのコード ウィンドウに次のコードを貼り付けます。プログラムを実行し、Node オブジェクトを選択し、フォームをクリックします。

Private Sub Form_Load

Dim nodX As Node

Set nodX = TreeView1.Nodes.Add(,,,"Da Vinci") ' ルートのノードを作成します。

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Titian")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Rembrandt")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"Goya")

Set nodX = TreeView1.Nodes.Add(1,tvwChild,,"David")

nodX.EnsureVisible ' すべてのノードを拡張して表示します。

End Sub

Private Sub Form_Click()

' 選択した Node オブジェクトがルートのノードでない場合は、編集できます。

If TreeView1.SelectedItem.Index <> 1 Then

TreeView1.StartLabelEdit

End If

End Sub


Nodes

Nodes キーワードは、次のコンテキストの中で使用されます。

Nodes コレクション

Nodes プロパティ


Change イベント (カスタム コントロール)

関連項目

コントロールの既定プロパティの値が変化したときに発生します。既定プロパティは、コントロールによって異なります。

構文

Private Sub object_Change([index As Integer])

Change イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

解説

マスク エディット コントロールまたはリッチテキスト ボックス コントロールで、テキスト ボックスの内容が変更されたときに発生します。DDE リンクが更新されるか、ユーザーがテキストの内容を変更するか、コード内で Text プロパティが変更されたときに発生します。

スライダ コントロールで、コード内で Value プロパティが変更されたとき、またはつまみが移動されたときに発生します。

ツールバー コントロールで、ユーザーが [ツールバーの変更] ダイアログ ボックスでコントロールのツールバーの内容を変更したときに発生します。

Change イベントは、コントロール間で同期を取ったり、表示されたデータ間の調整を行うために使われます。たとえば、スクロールバーの Change イベントに対するイベント プロシージャを使って、スクロール バーの Value プロパティの値を表示するテキスト ボックス コントロールを更新する処理を記述できます。また、作業領域にデータと数式を表示し、別の領域に計算結果を表示する処理などにも使用できます。

注   Change イベントによって、イベントの連鎖が発生し、処理がループしてしまう場合があります。これは、あるコントロールの Change イベントに対するイベント プロシージャによって、結果的にそのコントロール自体の内容が変更されてしまうような場合に起こります。たとえば、テキスト ボックス コントロールの Text プロパティの設定のように、コントロールの値を左右するプロパティの設定をコードに記述する場合がこれに相当します。イベントのループを防ぐには、次のようにしてください。

可能であれば、そのコントロールの内容を変更するような Change イベント プロシージャを記述しないようにしてください。さもなければ、1 個の Change イベント プロシージャの実行中に、もう一度そのイベント プロシージャが実行されないように、フラグ変数を設定してください。

それぞれの Change イベント プロシージャが相互に影響し合うような複数のコントロールを作成することは避けてください。たとえば、互いに相手を更新し合う 2 個のテキスト ボックスなどがこれに相当します。


関連項目

Text プロパティ (マスク エディット コントロール)

Text プロパティ

Value プロパティ


Click イベント (カスタム コントロール)

関連項目

ユーザーがオブジェクト上でマウス ボタンをクリックしたときに発生します。コントロールの Value プロパティを変更したときにも発生することがあります。

構文

Private Sub object_Click([index As Integer])

Click イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます｡

解説

次に示す操作が行われたときに発生します。

コントロールがマウスの左右いずれかのボタンでクリックされたとき。3D チェック ボックス、3D コマンド ボタン、および 3D オプション ボタンの各コントロールでは、左ボタンのクリックのみです。

3D コマンド ボタン、3D オプション ボタン、3D チェック ボックスの各コントロールのいずれかがフォーカスを持つ状態で、Space キーが押されたとき。

Default プロパティが真 (True) に設定されている 3D コマンド ボタン コントロールが存在するフォームで、Enter キーが押されたとき。

Cancel プロパティが真 (True) に設定されている 3D コマンド ボタン コントロール、つまり [キャンセル] ボタンが存在するフォームで、Esc キーが押されたとき。

コントロールに割り当てられているアクセス キーが押されたとき。たとえば、“実行(&R) ”というキャプションを持つ 3D コマンド ボタン コントロールがあるときに Alt キーを押しながら R キーを押すと、イベントが発生します。

コード内で次に示す操作が行われたときも、Click イベントが発生します。

コマンド ボタン コントロールの Value プロパティが真 (True) に設定されたとき。

オプション ボタン コントロールの Value プロパティが真 (True) に設定されたとき。

チェック ボックス コントロールの Value プロパティが変更されたとき。

通常、3D コマンド ボタン コントロールに対しては、Click イベントに対応するイベント プロシージャを記述します。そのほかのコントロールの Click イベントには、各コントロールに対して行われた変更に対応するイベント プロシージャを記述します。

コントロールの Value プロパティを使うと、コード内でコントロールの状態を調べることができます。

注   マウスの左、右、中央のボタンを区別するときは、MouseDown イベントと MouseUp イベントを使います。


関連項目

Cancel プロパティ (3D コマンド ボタン)

Default プロパティ (3D コマンド ボタン)

MouseDown、MouseUp イベント

Value プロパティ (カスタム コントロール)

Value プロパティ (ゲージ)

Value プロパティ (キー ステータス)


DragDrop イベント (カスタム コントロール)

関連項目

コントロールをフォームまたはコントロールの上にドラッグしてマウス ボタンを離したとき、つまりドラッグ アンド ドロップ操作が完了したときに発生します。また、Drag メソッドの引数 action を 2 (Drop) に設定したときにも発生します。

構文

Private Sub object_DragDrop([index As Integer,]source As Control, x As Single, y As Single)

DragDrop イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

source	ドラッグされているコントロール (ソース コントロール) の名前が渡されます。この引数を使って、Source.Visible = 0 のようにプロパティの設定を行ったり、メソッドを実行することができます。

x, y	ドラッグ先 (ターゲット) のフォームまたはコントロールにおける、マウス ポインタの水平位置 (X) および垂直位置 (Y) が渡されます。これらの座標には、常にターゲットの座標系が使われます。ターゲットの座標系は、ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop の各プロパティを使って設定します。

解説

DragDrop イベント プロシージャには、ドラッグ アンド ドロップ操作が完了した後の動作を記述します。たとえば、ドラッグされたコントロールを新しい位置に移動したり、ファイルをコピーしたりする処理に利用できます。何種類かのコントロールがドラッグされる可能性があるときは、次に示す操作を行います。

If ステートメントとキーワード TypeOf を使って、引数 source に渡されたコントロールの種類を調べます。

コントロールの Tag プロパティをあらかじめ設定しておくと、同じ種類のコントロールが複数ある場合でも、1 個のコントロールを特定して DragDrop イベント プロシージャを実行できます。

注   ドラッグの開始方法を指定するには、DragMode プロパティと Drag メソッドを使ってください。また、ドラッグが開始されてから DragDrop イベントが発生するまでのイベントは、DragOver イベント プロシージャを使って処理できます。


関連項目

Drag メソッド

DragMode プロパティ

DragOver イベント

Tag プロパティ


DragOver イベント (カスタム コントロール)

関連項目

ドラッグ アンド ドロップ操作の進行中に発生します。DragOver イベントは、ドラッグの開始からターゲット上にドロップされるまでの間に、ソースのコントロールがどのような状態にあるかを調べるために使います。DragOver イベントは、そのときマウス ポインタが位置しているオブジェクトによって認識されます。

構文

Private Sub object_DragOver([index As Integer,]source As Control, x As Single, y As Single, state As Integer)

DragOver イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

source	ドラッグされているコントロール (ソース コントロール) の名前が渡されます。この引数を使って、Source.Visible = False のようにプロパティの設定を行ったり、メソッドを実行することができます。

x, y	ドラッグ先 (ターゲット) のフォームまたはコントロールにおける、マウス ポインタの水平位置 (X) および垂直位置 (Y) が渡されます。これらの座標には、常にターゲットの座標系が使われます。ターゲットの座標系は、ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop の各プロパティを使って設定します。

state	ソースのコントロール (マウス ポインタ) とターゲットのフォームまたはコントロールの位置関係を示す、次のような値が渡されます。

0 - 範囲内に入る。ソース コントロールはターゲットの範囲内へ入った。
1 - 範囲外に出る。ソース コントロールはターゲットの範囲外へ出た。
2 - 範囲の上。ソース コントロールはターゲット上を移動しています。

解説

DragOver イベントは、ドラッグの開始からターゲット上にドロップされるまでの間に、ソースのコントロールがどのような状態にあるかを調べるために使います。たとえば、ターゲットの領域に入っていることを示すために BackColor プロパティまたは ForeColor プロパティを使ってターゲットとなるオブジェクトの色を変更したり、ドラッグ中であることを示すために DragIcon プロパティまたは MousePointer プロパティを使ってマウス ポインタの形を変更することができます。

state は、マウス ポインタの位置によって状態が変化する処理を記述するのに役立ちます。たとえば、ターゲットの範囲内に入ったとき (state = 0) はそのターゲットを強調表示し、範囲外に出たとき (state = 1) は元に戻す処理を記述できます。

オブジェクトが state = 0 (範囲内に入る) の DragOver イベントを受け取ると、次に示す処理が行われます

ソース コントロールが有効なターゲット上にドロップされた場合は、DragDrop イベントが生成されます。

ソース コントロールが有効なターゲット上にドロップされない場合は、別の DragOver イベント (state = 1) が生成されます。

注   ドラッグの開始方法を指定するには、DragMode プロパティと Drag メソッドを使ってください。また、上に述べたような引数 source の利用法については、オンライン ヘルプの「DragDrop イベント」を参照してください。


関連項目

BackColor、ForeColor プロパティ

Drag メソッド

DragDrop イベント

DragIcon プロパティ

DragMode プロパティ

MousePointer プロパティ


GotFocus イベント (カスタム コントロール)

関連項目

オブジェクトがフォーカスを得たときに発生します。フォーカスは、クリックや Tab キーを押すなどの操作をユーザーが行ったときや、コード内で SetFocus メソッドが実行されたときに移動します。

構文

Private Sub object_GotFocus([index As Integer])

GotFocus イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

解説

一般に GotFocus イベント プロシージャには、コントロールが最初にフォーカスを得たときの処理を記述します。たとえば、フォーム上の各コントロールの機能に関する説明を、画面やステータス バーに表示するときに使います。また、あるコントロールがフォーカスを得たときに、その他のコントロールを無効または有効にしたり、別のコントロールを新たに追加したりすることができます。

注   Enabled プロパティおよび Visible プロパティが真 (True) に設定されているオブジェクトだけが、フォーカスを得ることがでます。キーボードを使ってフォーカスを移動できるようにするには、タブ オーダーを設定するか、フォーム上のコントロールにアクセス キーを割り当てます。


関連項目

SetFocus メソッド


KeyDown、KeyUp イベント (カスタム コントロール)

関連項目

ユーザーがキーを押したとき (KeyDown) または離したとき (KeyUp) に、そのときフォーカスを持っているオブジェクトに対して発生します。ANSI コードを解釈するには、KeyPress イベントを使います。

構文

Private Sub object_KeyDown([index As Integer,]keycode As Integer, shift As Integer)

Private Sub object_KeyUp([index As Integer,]keycode As Integer, shift As Integer)

KeyDown イベントおよび KeyUp イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

keycode	vbKeyF1 (F1 キー) や vbKeyHome (Home キー) などのキー コードが渡されます。キー コードを指定するには、オブジェクト ブラウザの オブジェクト ライブラリ に一覧表示されている定数を使ってください。

shift	イベント発生時の Shift、Ctrl、Alt の各キーの状態を示す値が渡されます。各キーが押されたときに対応するビットが設定されます。引数 shift はビット フィールドになっています。つまり、最下位ビットから順にビット 0 が Shift キー、ビット 1 が Ctrl キー、ビット 2 が Alt キーに対応しています。各キーを示す値はそれぞれ 1、2、4 になります。各ビットは重複して設定でき、イベント発生時に押されていたキーの値を合計した値が渡されます。たとえば、Ctrl キーと Alt キーが押されている場合、引数 shift の値は 6 になります。

解説

いずれのイベントの場合も、フォーカスを持つオブジェクトはすべてのキー入力を検出できます。KeyDown イベントおよび KeyUp イベントはほとんどのキーを検出できますが、おもに次のキーを検出するために使われます。

ファンクション キーなどの特殊キー

移動キー

標準の補助キーと各キーの組み合わせ

数値キーパッドと標準の数字キーの区別

KeyDown イベントおよび KeyUp イベント プロシージャは、キーが押されたときと離されたときの両方の処理を記述したいときに便利です。

次の状態のときは、KeyDown イベントおよび KeyUp イベントは発生しません。

Enter キー
Default プロパティが真 (True) に設定されているコマンド ボタンが存在するとき。

Esc キー
Cancel プロパティが真 (True) に設定されているコマンド ボタンが存在するとき。

Tab キー
フォーカスを持つコントロールが存在するとき。

KeyDown イベントと KeyUp イベントは、keycode と shift の 2 つの引数によって大文字と小文字を区別します。keycode は物理的なキーを表します ("A" と "a" は、同じキーとして返されます)。shift は shift + key の状態を表し、"A" か "a" のどちらかを返します。

引数 shift の値を調べる必要があるときは、オブジェクト ブラウザの オブジェクト ライブラリに一覧表示されている定数を使うことによって、引数内のビットの設定を定義する定数を宣言できます。定数 shift の値を次に示します。

定数	値	内容

vbShiftMask	1	Shift キー ビット マスク

vbCtrlMask	2	Ctrl キー ビット マスク

vbAltMask	4	Alt キー ビット マスク

これらの定数は、ボタンの状態を調べるときのビット マスクとして使用できます。定数は、プロシージャ レベルまたはモジュールの宣言セクションで宣言でき、次に示す構文を使います。

Const Constantname = expression

キーの状態を調べるには、shift とビット マスクの And 演算子で比較して、結果を一時的な整数変数に割り当てます。対応するボタンまたはキーが押されているときは、比較した結果が 0 よりも大きくなります。次に例を示します。

ShiftDown = (Shift And vbShiftMask) > 0

イベント プロシージャの中では、ボタンやキーのあらゆる組み合わせを条件式として設定できます。次に例を示します。

If ShiftDown And CtrlDown Then

注   KeyPreview プロパティが真 (True) のときは、フォーム上のコントロールよりも先に、フォームがこれらのイベントを認識します。合体的なキーボード処理ルーチンを記述する場合は、KeyPreview プロパティを真 (True) に設定します。


関連項目

Cancel プロパティ (3D コントロール)

Default プロパティ (3D コントロール)


KeyPress イベント (カスタム コントロール)

関連項目

ANSI コードまたはシフト JIS コードに対応する文字が入力されたとき、発生します。

構文

Private Sub object_KeyPress([index As Integer,]keyascii As Integer)

KeyPress イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

keyascii	引数 keyascii には、標準の ANSI コードまたはシフト JIS コードの数値が参照によって渡されます。この値を変更すれば、オブジェクトに入力されたものとは別の文字をオブジェクトに送ることができます。keyascii の値を 0 に変更すると、オブジェクトは文字を受け取りません。これによって、キー入力をキャンセルすることができます。

解説

キー入力があると、そのときフォーカスを持っているオブジェクトに対してイベントが発生します。KeyPress イベントが発生するのは、出力可能なすべてのキーボード上の文字 (アルファベット、数字、記号、スペースなど)、2 バイト文字、Ctrl キーとアルファベットまたはいくつかの特殊キーの 1 つとの組み合わせ、Enter キー、Backspace キーが入力されたときです。KeyPress イベント プロシージャは、リッチテキスト ボックス コントロールに対するユーザーの入力をチェックするときに便利です。入力された文字を 1 つずつチェックしたり、入力と同時に書式を設定するときなどに使います。keyascii の値が変わると、表示される文字も変化します。keyascii は、次に示す式を使って文字に変換できます。

Chr(KeyAscii)

この状態で文字列操作を行った後、次に示す式を使って文字をコードに戻し、コントロールに渡すことができます。

KeyAscii = Asc(char)

ファンクション キー、編集キー、移動キーおよびこれらの各キーと補助キーの組み合わせなど、KeyPress イベントでは扱えないキーの入力を検出するには、KeyDown および KeyUp イベントを使います。KeyDown および KeyUp イベントとは異なり、KeyPress イベントはどのキーが押されたのか、離されたのかというキーボードの状態を示すのではなく、入力された文字を渡します。

KeyPress イベントは大文字と小文字を別のキーコードとして認識し、別の文字として取り扱います。KeyDown イベントと KeyUp イベントは、大文字と小文字を keycode と shift の 2 つの引数を使って識別します。keycode は物理的なキーを示します。したがって "A" と "a" の引数は同じです。一方、shift は Shift キーの状態を示しており、"A" と "a" を区別できます。

KeyPreview プロパティが真 (True) のときは、フォーム上のコントロールよりも先にフォームがこれらのイベントを認識します。合体的なキーボード処理ルーチンを記述する場合は、KeyPreview プロパティを使います。

注   Ctrl キーを押しながら @ キーを押したときは、ASCII コードとして 0 が生成されます。Microsoft Visual Basic では keyascii が 0 の場合は Null 文字列として解釈されるため、アプリケーション内では Ctrl + @ キーの組み合わせを使わないでください。


関連項目

KeyDown、KeyUp イベント


LostFocus イベント

関連項目

オブジェクトがフォーカスを失ったときに発生します。フォーカスは、クリックや Tab キーを押すなどの操作が行われたとき、またはコード内で SetFocus メソッドが実行されたときに移動します。

構文

Private Sub object_LostFocus([index As Integer])

LostFocus イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

解説

LostFocus イベントは、更新された内容が有効かどうかを確認するときに便利です。ユーザーがそのコントロールに対する設定を終えたときに、内容を確認するようにします。また、LostFocus イベントは、GotFocus イベントと同様に、あるコントロールがフォーカスを失ったときに、その他のコントロールを無効または有効にしたり、表示または非表示にしたりするために利用できます。GotFocus イベント プロシージャで行った変更を、前の状態に戻す場合にも便利です。


関連項目

GotFocus イベント

SetFocus メソッド


MouseDown、MouseUp イベント (カスタム コントロール)

関連項目

ユーザーがマウス ボタンを押したとき (MouseDown)、または離したとき (MouseUp) に発生します。

構文

Private Sub object_MouseDown([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

Private Sub object _MouseUp([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)

MouseDown イベントおよび MouseUp イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

button	左、右、中央のいずれのボタンが操作されたかを示す値が渡されます。引数 button はビット フィールドになっています。つまり、最下位ビットから順にビット 0 が左ボタン、ビット 1 が右ボタン、ビット 2 が中央ボタンに対応しています。各ボタンを示す値はそれぞれ 1、2、4 になります。イベントに対応するボタンの 1 ビットだけが単独で設定されます。2 ビットが重複して設定されることはありません。

shift	イベント発生時の Shift、Ctrl、Alt の各キーの状態を示す値が渡されます。各キーが押されたときに対応するビットが設定されます。引数 shift はビット フィールドになっています。つまり、最下位ビットから順にビット 0 が Shift キー、ビット 1 が Ctrl キー、ビット 2 が Alt キーに対応しています。各キーを示す値はそれぞれ 1、2、4 になります。各ビットは重複して設定でき、イベント発生時に押されていたキーの値を合計した値が渡されます。たとえば、Ctrl キー (2) と Alt キー (4) が押されている場合、2 + 4 で shift の値は 6 になります。

x, y	マウス ポインタの水平位置 (X) および垂直位置 (Y) が渡されます。これらの座標には、常にターゲットの座標系が使われます。ターゲットの座標系は、ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop の各プロパティを使って設定します。

解説

MouseDown と MouseUp イベント プロシージャには、特定のマウス ボタンが押されたり離されたりしたときの動作を記述します。Click イベントや DblClick イベントとは異なり、MouseDown イベントと MouseUp イベントでは、マウスの左、右、中央のボタンを区別することができます。また、Shift、Ctrl、Alt などの補助キーを使った、マウスとキーボードを組み合わせた操作に対応するコードも記述できます。

Click イベントおよび DblClick イベントと MouseDown イベント、MouseUp イベントの関係では、次の点に注意してください。

マウス ポインタが、あるオブジェクトの上にあるときにマウス ボタンが押されると、そのオブジェクトが MouseDown イベントを認識します。つまり MouseDown イベントが発生したときは、マウス ポインタは必ずそのオブジェクトが配置されている領域内にあります。それ以降、MouseUp イベントが発生するまで、すべてのマウスに関連するイベントは、そのオブジェクトによって認識されます。これは、マウスに関連するイベントの発生によって得られたマウス ポインタの X 座標と Y 座標が、必ずしもそれを認識したオブジェクトが配置されている内部領域内にあるとは限らないことを意味します。

マウス ボタンが連続して押された場合、最初の MouseDown イベントを認識したオブジェクトが、すべてのボタンが離されるまで、すべてのイベントを認識します。

button または shift の値を調べる必要があるときは、オブジェクト ブラウザの オブジェクト ライブラリ に一覧表示されている定数を使って、引数内のビットの設定を定義することができます。

定数 (ボタン)	値	内容

vbLeftButton	1	左ボタンがクリックされました。

vbRightButton	2	右ボタンがクリックされました。

vbMiddleButton	4	中央ボタンがクリックされました。

定数 (シフト)	値	内容

vbShiftMask	1	Shift キーが押されています。

vbCtrlMask	2	Ctrl キーが押されています。

vbAltMask	4	Alt キーが押されています。

これらの定数は、ボタンの状態を調べるときのビット マスクとして使えます。これを使うと、ボタンの組み合わせごとにビット フィールドの値を作成する必要はありません。

注   マウスの移動をイベントとして利用するには、MouseMove イベントを使います。MouseDown イベントおよび MouseUp イベントの引数 button の意味は、MouseMove イベントと異なることに注意してください。MouseDown イベントや MouseUp イベントでは、button は 1 個のボタンだけを特定しますが、MouseMove イベントでは複数のボタンを同時に押した状態にも対応できます。


関連項目

Click イベント

Click イベント (3D コントロール)

DblClick イベント

MouseMove イベント


MouseMove イベント (カスタム コントロール)

関連項目

ユーザーがマウスを動かしたときに発生します。

構文

Private Sub object_MouseMove([index As Integer,] button As Integer, shift As Integer, x As Single, y As Single)

MouseMove イベントの構文の指定項目は次のとおりです。

指定項目	内容

object	イベントを受け取るオブジェクトへの参照を表すオブジェクト式を指定します。

index	object がコントロール配列の場合、コントロール配列のインデックス番号が渡されます。

button	左、右、中央のいずれのボタンが操作されたかを示す値が渡されます。引数 button はビット フィールドになっています。最下位ビット から順にビット 0 が左ボタン、ビット 1 が右ボタン、ビット 2 が中央ボタンに対応しています。各ボタンを示す値はそれぞれ 1、2、4 になります。各ビットは重複して設定でき、イベント発生時に押されていたマウス ボタンの値を合計した値が渡されます。

shift	イベント発生時の Shift、Ctrl、Alt の各キーの状態を示す値が渡されます。各キーが押されたときに対応するビットが設定されます。引数 shift の値は、ビット フィールドになっています。つまり、最下位ビットから順にビット 0 が Shift キー、ビット 1 が Ctrl キー、ビット 2 が Alt キーに対応しています。各キーを示す値はそれぞれ 1、2、4 になります。各ビットは重複して設定でき、イベント発生時に押されていたキーの値を合計した値が渡されます。たとえば、Ctrl キー (2) と Alt  キー (4) が押されている場合、2 + 4 で shift の値は 6 になります。

x, y	マウス ポインタの水平位置 (X) および垂直位置 (Y) が渡されます。これらの座標には、常にターゲットの座標系が使われます。ターゲットの座標系は、ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop の各プロパティを使って設定します。

解説

MouseMove イベントは、マウス ポインタがオブジェクト上を移動するときに連続的に発生します。他のオブジェクトがマウスを認識している場合を除いて、あるオブジェクトが配置されている領域の上でマウス ポインタが移動すると、そのオブジェクトに対して MouseMove イベントが発生します。

button または shift の値を調べる必要があるときは、オブジェクト ブラウザの オブジェクト ライブラリ に一覧表示されている定数を使って、引数内のビットの設定を定義することができます。次に、これらのマウス ボタン定数の値を示します。

定数 (ボタン)	値	内容

vbLeftButton	1	左ボタンがクリックされました。

vbRightButton	2	右ボタンがクリックされました。

vbMiddleButton	4	中央ボタンがクリックされました。

定数 (シフト)	値	内容

vbShiftMask	1	Shift キーが押されています。

vbCtrlMask	2	Ctrl キーが押されています。

vbAltMask	4	Alt キーが押されています。

これらの定数は 、ボタンの状態を調べるときのビット マスクとして使えます。これを使うと、ボタンの組み合わせごとにビット フィールドの値を作成する必要はありません。

マウス ボタンやキーの状態を調べるには、button または shift とビット マスクを And 演算子で比較して、結果を一時的な整数変数に割り当てます。対応するボタンまたはキーが押されているときは、比較結果が 0 よりも大きくなります。次に例を示します。

LeftDown = (Button And vbLeftButton) > 0
CtrlDown = (Shift And vbCtrlMask) > 0

イベント プロシージャの中では、ボタンやキーのあらゆる組み合わせを条件式と

して設定できます。例を次に示します。

If LeftDown And CtrlDown Then

注   マウス ボタンが押されたり離されたりしたときの動作は、MouseDown イベント プロシージャと MouseUp イベント プロシージャに記述します。

MouseMove イベントの button の意味は、MouseDown イベントおよび MouseUp イベントと異なることに注意してください。MouseMove イベントでは複数のボタンを同時に押した状態に対応できますが、MouseDown イベントや MouseUp イベントでは button は 1 個のボタンだけを特定します。

MouseMove イベントでウィンドウを移動すると、イベントの連鎖が発生します。MouseMove イベントは、ウィンドウがマウス ポインタの下に移動したときに発生します。MouseMove イベントは、マウスが完全に静止しているときにも発生します。


関連項目

MouseDown、MouseUp イベント


DblClick イベント (カスタム コントロール)

関連項目

ユーザーがオブジェクト上でマウス ボタンを押して離す操作を 2 回続けて行ったとき (ダブルクリックしたとき) に発生します。

コントロールがマウスの左ボタンでダブルクリックされた場合に発生します。

構文

Private Sub object_DblClick (index As Integer)

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

index	コントロール配列の場合、コントロール配列のインデックス番号が渡されます。

解説

コントロール配列の場合、引数 index には、コントロール配列のインデックス番号が渡されます。DblClick イベント プロシージャは、アイコンをダブルクリックしてウィンドウや文書を開くような☆暗黙で行われる操作を記述するために使用できます。また、リスト ボックス内の項目をダブルクリックすると、それが選択されると同時にダイアログ ボックスを閉じるような処理が行えます。

このようなショートカットを設定するには、リスト ボックスまたはファイル リスト ボックスの DblClick イベント プロシージャと、デフォルト ボタン (Default プロパティを真 (True) に設定したコマンド ボタン (CommandButton) コントロール) を組み合わせて使います。つまり、リスト ボックスの DblClick プロシージャが、デフォルト ボタンの Click イベント プロシージャを呼び出すように設定します。

DblClick イベントが発生するときは、同時に MouseDown、Click、MouseUp の各イベントも発生します。発生する順序は、MouseDown、MouseUp、Click、DblClick、MouseUp です。

ユーザーがマウスの左ボタンを 2 回クリックしても、それがダブルクリックの設定時間内に行われなければ、オブジェクトは Click イベントが 2 回発生したと認識します。ダブルクリックの速さはコントロール パネルで変更できるため、それによってダブルクリックの設定時間も変化します。Click と DblClick の 2 つのイベント プロシージャを記述するときは、その操作内容が相互に干渉しないように注意してください。また、DblClick イベントを受け付けないコントロールでは、DblClick イベントではなく 2 回のクリックとして認識されることがあります。

注   マウスの左、右、中央のボタンを区別するときは、MouseDown イベントと MouseUp イベントを使います。


関連項目

Click イベント

MouseDown、MouseUp イベント


Refresh メソッド (カスタム コントロール)

フォームまたはコントロールを強制的に更新します。

構文

object.Refresh

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Refresh メソッドは次のような場合に使います。

ツリー ビュー コントロールのようなファイル システムのためのコントロールであるリスト ボックスの内容を更新するとき。

リスト ビュー コントロールのデータ構造を更新するとき。

通常、コントロールの描画は、イベントが発生していないときに自動的に処理されますが、コントロールを即座に更新する必要がある場合もあります。たとえば、ファイル リスト ボックス (FileListBox)、ディレクトリ リスト ボックス (DirectoryListBox)、ドライブ リスト ボックス (DriveListBox) の各コントロールを使って現在のディレクトリ構造を表示するときは、Refresh メソッドを使ってディレクトリ構造が変更されるたびにリストを更新できます。


SetFocus メソッド

関連項目

指定されたコントロールに、フォーカスを移します。

構文

object.SetFocus

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

引数 object には、フォーカスを受け取ることのできるコントロールを指定します。SetFocus メソッドの実行後は、指定したコントロールがユーザーからのすべての入力を受け取ります。

フォーカスを設定できるのは、表示されているコントロールだけです。フォーム上のコントロールは、各フォームの Load イベントが終了するまで表示されません。このため、Load イベント内でロードされたフォームに SetFocus メソッドを使ってフォーカスを移すには、Form_Load イベント プロシージャが終了する前に Show メソッドを使ってフォームを表示する必要があります。

コントロールの Enabled プロパティが偽 (False) に設定されていると、そのコントロールにはフォーカスを設定できません。デザイン時に Enabled プロパティを偽 (False) に設定したときは、SetFocus メソッドでフォーカスを移す前に Enabled プロパティを真 (True) に変更しておく必要があります。


関連項目

Enabled プロパティ


Windows 95 コントロールのトラップできるエラー

関連項目

Windows 95 カスタム コントロールのトラップできるエラーは次のとおりです。

エラー番号	メッセージの内容

35600	Index out of bounds.

35601	Element not found.

35602	Key is not unique in collection.

35603	Invalid key.

35605	This item's control has been deleted.

35606	Control's collection has been modified.

35607	Required argument is missing.

35609	Property not accessible at design time.

35610	Invalid object.

35611	Property is read-only if image list contains images.

35613	ImageList must be initialized before it can be used.

35614	This would introduce a cycle.

35615	All images in list must be same size.

35616	Maximum Panels Exceeded.

35617	Image cannot be removed while another control is bound to this ImageList.

35618	Overlay parameter must identify one of the first 16 images in the ImageList.


関連項目

イメージ リスト コントロール

リスト ビュー コントロール

プログレス バー コントロール

リッチテキスト ボックス コントロール

スライダ コントロール

タブ ダイアログ コントロール

ステータス バー コントロール

タブ ストリップ コントロール

ツールバー コントロール

ツリー ビュー コントロール


Clear メソッド (アウトライン コントロール)

アウトライン コントロールの内容をクリアします。

構文

object.Clear


Drag メソッド (カスタム コントロール)

関連項目

イメージ リスト コントロール以外のオブジェクトのドラッグ操作を、開始、終了、またはキャンセルします。名前付き引数は指定できません。

構文

object.Drag action

Drag メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	必ず指定します。オブジェクトへの参照を表すオブジェクト式を指定します。引数 object を省略すると、Drag メソッドを呼び出したイベント プロシージャのオブジェクトが object と見なされます。

action	実行する動作を示す定数または値を指定します。設定する値については、次の「設定値」を参照してください。引数 action を省略すると、オブジェクトのドラッグを開始します。

設定値

引数 action の設定値は次のとおりです。

定数	値	内容

vbCancel	0	ドラッグ操作を取り消します。

vbBeginDrag	1	object のドラッグを開始します。

vbEndDrag	2	object のドラッグを終了して、object をドロップします。

解説

ここで示した定数はオブジェクト ブラウザの オブジェクト ライブラリにも表示されます。

コントロールの DragMode プロパティが 0 (手動) に設定されているときだけ、Drag メソッドを使ってドラッグ アンド ドロップ操作を制御する必要があります。コントロールの DragMode プロパティが 1 または vbAutomatic (自動) に設定されているときも、Drag メソッドを使ってドラッグ アンド ドロップできます。

コントロールのドラッグ中にマウス ポインタを変更するには、DragIcon プロパティまたは MousePointer プロパティを使ってマウス ポインタを定義します。MousePointer プロパティは、DragIcon プロパティが指定されていないときにだけ使われます。

以前のバージョンの Microsoft Visual Basic では、Drag メソッドはドラッグ操作が終了していなくても次のステートメントが実行される非同期メソッドでした。Visual Basic Version 4.0 の Drag メソッドは、ドラッグ操作が終了するまで次のステートメントが実行されない同期メソッドです。


関連項目

DragIcon プロパティ

DragMode プロパティ

MousePointer プロパティ


Move メソッド (カスタム コントロール)

関連項目

コントロールを移動します。名前付き引数は指定できません。

構文

object.Move left, top, width, height

Move メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。引数 object を省略すると、フォーカスを持っている Form オブジェクトが指定されます。

left	必ず指定します。object の左端の水平方向の座標を示す単精度の値を指定します。

top	省略可能です。object の上端の垂直方向の座標を示す単精度の値を指定します。

width	省略可能です。object の幅を示す単精度の値を指定します。

height	省略可能です。object の高さを示す単精度の値を指定します。

解説

引数 left 以外の引数はすべて省略可能ですが、left 以外の引数を指定するときは、指定する引数より前の引数をすべて指定する必要があります。たとえば、引数 width を指定するときは、必ず引数 left と top も指定します。指定した引数より後にある指定しなかった引数の値は、変更されません。

3D パネル、プログレス バー、ステータス バー、およびツールバーの各コントロールでは、Align プロパティが 0 に設定されている場合のみ有効です。


関連項目

Align プロパティ


ZOrder メソッド (カスタム コントロール)

指定されたコントロールの Z オーダーを変更します。名前付き引数は指定できません。

構文

object.ZOrder position

ZOrder メソッドの構文の指定項目は次のとおりです。

指定項目	内容

object	省略可能です。オブジェクトへの参照を表すオブジェクト式を指定します。引数 object を省略すると、フォーカスを持っている Form オブジェクトが指定されます。

position 	object から同じ object の別のインスタンスへの相対的な位置を示す整数を指定します。引数 position に 0 を指定するか省略すると、object の Z オーダーは先頭に移動します。引数 position に 1 を指定すると、object の Z オーダーは後方に移動します。

解説

オブジェクトの Z オーダーを設定するには、デザイン時に [編集] - [上層へ移動] コマンドまたは [下層へ移動] コマンドを選択します。


Item メソッド (カスタム コントロール)

関連項目	例

指定した位置または文字列に対応する特定のコレクションのメンバを返します。

構文

object.Item(index)

Item メソッドには、対象となるオブジェクトと名前付き引数を指定します。

指定項目	内容

object	必ず指定します。対象一覧のオブジェクトへの参照を表すオブジェクト式を指定します。

index	必ず指定します。コレクションのメンバの位置を式で指定します。数式を使って指定する場合、引数 index には 1 からコレクションの Count プロパティの値までの範囲内の整数を指定する必要があります。文字列式を使って指定する場合、引数 index には、参照先のメンバをコレクションに追加したときに指定した key に一致する文字列を指定する必要があります。

解説

引数 index に指定した値がコレクションの既存のメンバのいずれにも一致しない場合は、エラーが発生します。

Item メソッドは、コレクションの既定メソッドとして扱われます。したがって、次に示す 2 行のコードの意味は同じです。

Print MyCollection(1)

Print MyCollection.Item(1)


関連項目

Count プロパティ

Key プロパティ


Item メソッドの例

次のプログラムは、Item メソッドを使ってステータス バー コントロールの Index プロパティおよび Enabled プロパティを参照し、パネルを追加します。このプログラムを実行するには、フォームにステータス バー コントロールを配置します。フォーム モジュールのコード ウィンドウに下のコードを貼り付け、F5 キーを押します。

Private Sub Form_Load()

Dim sbrX As Panel ' Panel オブジェクト変数を作成します。

Dim I As Integer  ' カウンタ変数を作成します。

For I = 1 to 6	' 6 つの Panel オブジェクトを追加します。

Set sbrX = StatusBar1.Panels.Add() ' パネルを追加します。

sbrX.Style = I	' パネルのスタイルを設定します。

Next I

StatusBar1.Panels.Remove 1	' 起動時のパネルを削除します。

End Sub

Private Sub Form_Click()

Dim I As Integer    ' カウンタ変数を作成します。

Dim strX As String  ' メッセージ用の文字列変数を作成します。

For I = 1 to Statusbar1.Panels.Count

strX = strX & StatusBar1.Panels.Item(I).Index & ": "

' 上の行は、下の行と同じ意味です。

' strX = StrX & StatusBar1.Panels(I).Index & ": "

strX = strX & StatusBar1.Panels.Item(I).Enabled & Chr(10)

' 上の行は、下の行と同じ意味です。

' strX = StrX & StatusBar1.Panels(I).Enabled & Chr(10)

StatusBar1.Panels.Item.(I).Width = Form1.Width / 6

' 上の行は、下の行と同じ意味です。

' Statusbar1.Panels(I).Width = Form1.Width / 6

Next I

' 結果を表示します。

MsgBox strX

End Sub


BackColor、ForeColor プロパティ (カスタム コントロール)

BackColor プロパティ
オブジェクトの背景色を設定または取得します。

ForeColor プロパティ
オブジェクトの前景色を設定また取得します。

構文

object.BackColor [= color]
object.ForeColor [= color]

BackColor プロパティと ForeColor プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

BackColor プロパティの対象は、3D グループ プッシュ ボタン、イメージ リスト、キー ステータス、およびリッチテキスト ボックスの各コントロールです。

ForeColor プロパティの対象は、3D チェックボックス、3D コマンド、3D フレーム、3D オプション、およびマルチメディア MCI の各コントロールです。

color	オブジェクトの背景色や前景色を決定する定数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

Visual Basic では Microsoft Windows の RGB 方式を採用しています。引数 color の設定値は次のとおりです。

設定値	内容

通常の RGB カラー	カラーパレット、またはコード内で RGB 関数や QBColor 関数を使って指定する色です。

システム カラー	オブジェクト ブラウザ の オブジェクト ライブラリに一覧表示されるシステム カラー定数を使って指定する色です。Windows のコントロール パネルの設定に基づいて変換されます。

すべてのフォームやコントロールについて、デザイン時の既定値は次のとおりです。

BackColor プロパティは、定数 vbWindowBackground によって指定されるシステムの既定値の色に設定されます。

ForeColor プロパティは、定数 vbWindowText によって指定されるシステムの既定値の色に設定されます。

解説

通常の RGB カラーの有効な値の範囲は、0 ～ 16,777,215 (&HFFFFFF) です。この値の最上位バイトは 0 で、下位の 3 バイトが最下位バイトから最上位バイトに向かって順に赤、緑、青の強さをそれぞれ決定します。赤、緑、青の各要素は、それぞれ 0 ～ 255 (&HFF) の数値で表されます。最上位バイトが 0 でないときは、Visual Basic ではコントロール パネルで設定されているシステム カラーが使われます。これは、ユーザーのコントロール パネルの設定やオブジェクト ブラウザの オブジェクト ライブラリに一覧表示される定数によって定義されます。

Windows でテキストを表示するには、テキストと背景色の両方が純色でなければなりません。選択したテキストや背景の色が表示されない場合は、選択されたどちらかの色がディザリングされている (最大 3 色の異なるピクセルから構成されている) 可能性があります。テキストや背景にディザリングされた色を指定すると、最も近い純色が使われます。

イメージ リスト コントロールでは、純色の背景の上にマスク イメージを描く前に、BackColor プロパティを使用して ImageList オブジェクトの背景色を対象のオブジェクトと同じにしておくことをお勧めします。これは、イメージの透明な部分を作り出し、Item メソッドを使用して簡単に表示用のイメージを作り出すために必要です。また、こうすると、パフォーマンスにおいても効果があります。


BorderStyle プロパティ (カスタム コントロール)

オブジェクトの境界線のスタイルを設定します。値の取得も可能です。

構文

object.BorderStyle = [value]

BorderStyleColor プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	境界線のスタイルを決定する数値や定数を指定します。設定する値については、次の「設定値」を参照してください。

設定値

BorderStyle プロパティの設定値は次のとおりです。

定数	値	内容

ccNone	0	なし。境界および境界に関連する要素を表示しません。

ccFixedSingle	1	固定 (実線)。プログレス バー コントロールを除き、コントロール メニュー ボックス、タイトル バー、最大化ボタン、最小化ボタンを表示できます。最大化ボタンおよび最小化ボタンによるサイズ変更のみ可能です。

注   “cc”というプリフィックスは、Windows 95 コントロールが対象です。Windows 95 コントロールには、リスト ビュー、プログレス バー、リッチテキスト ボックス、スライダ、ツールバー、ツリー ビューなどのコントロールがあります。他のコントロールでは、それぞれのプリフィックスを使用します。ただし、定数の内容には違いはありません。

解説

プログレス バーの BorderStyle プロパティでは、コントロールに表示される進行状況を表すブロックを小さくします。


FontBold、FontItalic、FontStrikethru、FontUnderline プロパティ (カスタム コントロール)

関連項目

フォントに太字 (ボールド)、斜体 (イタリック)、取り消し線、下線の各スタイルを設定します。値の取得も可能です。

注   FontBold、FontItalic、FontStrikethru、FontUnderline の各プロパティは、以前のバージョンの Visual Basic との互換性の保持のために、サポートされています。できるだけ Font オブジェクトやそのプロパティを使うことをお勧めします。ただし、Font オブジェクトはコモン ダイアログ コントロールでは使用できません。

構文

object.FontBold [= boolean]
object.FontItalic [= boolean]
object.FontStrikethru [= boolean]
object.FontUnderline [= boolean]

FontBold、FontItalic、FontStrikethru、FontUnderline プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	フォント スタイルを指定するブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	フォントに指定されたスタイルを設定します。FontBold プロパティの既定値です。

False	フォントのスタイルの指定を解除します。

解説

これらの Fontxxx プロパティは、デザイン時にプロパティ ウィンドウで設定するか、実行時にコードで設定します。また、プロパティの変更と同時に画面フォントも変化します。

注   Visual Basic で利用できるフォントの種類は、システム構成、ディスプレイおよびプリンタの種類 (プリンタ ドライバ) などに応じて変化します。Fontxxx プロパティが設定できるのは、実際に存在しているフォントに限られます。

通常、FontSize、FontBold、FontItalic、FontStrikethru、FontTransparent、FontUnderline の各プロパティでフォントのサイズやスタイル属性の設定をする前に、FontName プロパティを設定する必要があります。また、8 ポイント未満のフォント サイズを設定する場合には確認が必要です。フォントによっては 8 ポイント未満のフォント サイズをサポートしていないものもあるため、FontSize プロパティに 8 ポイント未満のフォントを設定すると自動的に別のフォントや別の大きさに変更される場合があります。このような状況を避けるために、8 ポイント未満のフォント サイズを指定するときは、FontSize プロパティを設定した後に FontName プロパティや FontSize プロパティの値をもう一度確認してください。


関連項目

Font プロパティ

FontName プロパティ

FontSize プロパティ


FontName プロパティ (カスタム コントロール)

関連項目

コントロールに表示されるテキストのフォント、あるいは実行時に描画または印刷操作で使われるフォントを設定します。値の取得も可能です。

注   FontName プロパティは、以前のバージョンの Visual Basic との互換性の保持のために、サポートされています。できるだけ Font オブジェクトやそのプロパティを使うことをお勧めします。ただし、Font オブジェクトはコモン ダイアログ コントロールでは使用できません。

構文

object.FontName [= font]

FontName プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

font	使用するフォント名を示す文字列式を指定します。

解説

このプロパティの既定値はシステムによって決まります。Visual Basic で使用できるフォントは、システムの設定、ディスプレイ、プリンタによって変わります。フォントに関連する各プロパティの設定値は、使用可能なフォントがサポートしている値に限られます。

通常、FontSize、FontBold、FontItalic、FontStrikethru、FontUnderline の各プロパティを使ってサイズやスタイル属性を設定する前に FontName プロパティの設定を行います。

注   実行時に FontCount、Fonts プロパティを参照すると、システムで使用できるフォントに関する情報を取得できます。


関連項目

Font プロパティ

FontBold、FontItalic、FontStrikethru、FontUnderline プロパティ

FontSize プロパティ


FontSize プロパティ (カスタム コントロール)

関連項目

コントロールに表示されるテキストのフォント、あるいは実行時の描画または印刷操作で使われるフォントのサイズを設定します。値の取得も可能です。

注   FontSize プロパティは、以前のバージョンの Visual Basic との互換性の保持のために、サポートされています。できるだけ Font オブジェクトやそのプロパティを使うことをお勧めします。ただし、Font オブジェクトはコモン ダイアログ コントロールでは使用できません。

構文

object.FontSize [= points]

FontSize プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

points	フォントのサイズを示す数式を、ポイント単位で指定します。

解説

FontSize プロパティは、表示するテキストのフォントのサイズを設定したいときに使います。既定のフォント サイズは、使用しているシステムによって決まります。既定値を変更するには、ポイント単位でフォント サイズを指定します。

FontSize プロパティに指定できる値の最大値は 2,160 ポイントです。

注   Visual Basic で使用可能なフォントは、使用しているシステムの設定、ディスプレイ、プリンタによって異なります。フォントに関連する各プロパティの設定値は、使用可能なフォントがサポートしている値に限られます。

通常、FontSize、FontBold、FontItalic、FontStrikethru、FontTransparent、FontUnderline の各プロパティを使ってフォントのサイズとスタイル属性を設定する前に、FontName プロパティを使ってフォント名を設定する必要があります。また、8 ポイント未満のフォント サイズを設定する場合には確認が必要です。フォントによっては 8 ポイント未満のフォント サイズをサポートしていないものもあるため、FontSize プロパティに 8 ポイント未満のフォントを設定すると自動的に別のフォントや別のサイズに変更される場合があります。このような状況を避けるために、8 ポイント未満のフォント サイズを指定するときは、FontSize プロパティを設定した後に FontName プロパティや FontSize プロパティの値をもう一度確認してください。


関連項目

Font プロパティ

FontBold、FontItalic、FontStrikethru、FontUnderline プロパティ

FontName プロパティ


Height、Width プロパティ (カスタム コントロール)

関連項目

オブジェクトの大きさを設定します。値の取得も可能です。

構文

object.Height [= number]
object.Width [= number]

Height、Width プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	オブジェクトの寸法を指定する数式を指定します。異なる境界線幅を持つコントロールが整列するように、コントロールの境界線の中央からの幅が指定されます。これらのプロパティは設定するコントロールが配置されているコンテナのスケール単位を使用します。

解説

フォームやコントロールでは、そのオブジェクトの大きさが、ユーザーの操作やコードによって変更されると、これらのプロパティの値も変化します。すべてのオブジェクトで、これらのプロパティの最大値はプログラムの動作環境によって異なります。

Height、Width、Left、Top の各プロパティは、オブジェクトのサイズ変更や移動などでオブジェクト全体の大きさを調べたり、変更したりする場合に使用します。タブ ストリップ コントロールでは、内部のオブジェクトのサイズを参照するには、ClientLeft、ClientTop、ClientHeight、および ClientWidth の各プロパティを使用します。

リスト ビュー コントロールの ListItem オブジェクトの場合、一覧表示 (List) および詳細表示 (Report) のときは、Height、Width、Left、Top の各プロパティは、値の取得のみ可能になります。

タブ ストリップ コントロールの Tab オブジェクトの場合、Height プロパティおよび Width プロパティは、各タブの高さと幅の値なり取得のみ可能です。Left プロパティおよび Top プロパティも含めて、これらのプロパティは、ピクチャ ボックス (PictureBox) コントロールなどの他のオブジェクト隠すためにアクティブなタブの座標を取得するのに使用できます。


関連項目

ClientHeight、ClientWidth、ClientLeft、ClientTop プロパティ

Left、Top プロパティ

View プロパティ


Left、Top プロパティ (カスタム コントロール)

関連項目

Left プロパティ
オブジェクトの内側の左端とコンテナの左端の間隔を設定します。値の取得も可能です。

Top プロパティ
オブジェクトの内側の上端とコンテナの上端の間隔を設定します。値の取得も可能です。

構文

object.Left [= value]
object.Top [= value]

Left プロパティ、Top プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	オブジェクトの間隔を示す数式を指定します。

解説

Left プロパティと Top プロパティは常にそのコンテナの座標系を使って示されます。オブジェクトがユーザーの操作、コードの記述によって移動されると、これらのプロパティの値も変化します。

Left プロパティと Top プロパティの値として、単精度浮動小数点数を設定することができます。

Left および Top プロパティや、関連するプロパティである Height および Width プロパティは、オブジェクトのサイズ変更や移動などの、オブジェクト自体の位置や領域の計算が必要な場合に使用します。

リスト ビュー コントロールの ListItem オブジェクトの場合、一覧表示 (List) および詳細表示 (Report) のときは、Height、Width、Left、Top の各プロパティは、値の取得のみ可能になります。ColumnHeader オブジェクトでは、Left プロパティは、値の取得のみ可能です。

タブ ストリップ コントロールの Tab オブジェクトの場合、Left プロパティおよび Top プロパティは、各タブの位置を示し取得のみ可能です。Height プロパティおよび Width プロパティも含めて、これらのプロパティは、ピクチャ ボックス (PictureBox) コントロールなどの他のオブジェクト隠すためにアクティブなタブの座標を取得するのに使用できます。


関連項目

Height、Width プロパティ

View プロパティ


ListCount プロパティ (アウトライン)

関連項目

コントロールの現在の項目数を返します。

構文

object.ListCount

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

項目が何も選択されていなければ、ListIndex プロパティの値は -1 になります。リストの最初の項目は ListIndex = 0 です。ListCount プロパティは常に ListIndex プロパティの最大値よりも 1 だけ大きい値になります。


関連項目

ListIndex プロパティ (アウトライン)


ListIndex プロパティ (アウトライン)

関連項目

現在選択されている項目のインデックス番号を設定します。値の取得も可能です。デザイン時には使えません。

構文

object.ListIndex [= index]

ListIndex プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

index	現在の項目を示す数式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 index の設定値は次のとおりです。

設定値	内容

-1	現在選択されている項目がないことを示します。

n	現在選択されている項目のインデックス番号を示します。

解説

リストの最初の項目は ListIndex = 0 です。ListCount プロパティは常に ListIndex プロパティの最大値よりも 1 だけ大きい値になります。


関連項目

ListCount プロパティ (アウトライン)


TabIndex プロパティ (カスタム コントロール)

関連項目

Tab キーを使ってコントロールのフォーカスを移動するときの順序 (タブ オーダー) を設定します。値の取得も可能です。

構文

object.TabIndex [= index]

TabIndex プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

index	0 ～ (n -1) の範囲の整数を指定します。n は TabIndex プロパティを持つ、フォーム内のコントロールの数です。TabIndex プロパティに負の値を設定するとエラーが発生します。

解説

各コントロールの TabIndex プロパティの既定値は、フォームにコントロールが配置された順番と同じになります。新しく配置されたコントロールは、タブ オーダーの最後に追加されます。

あるコントロールの TabIndex プロパティの既定値を変更すると、他のコントロールの TabIndex プロパティはそれに合わせて自動的に変更されます。TabIndex プロパティは、デザイン時にプロパティ ウィンドウで変更することができます。また、実行時にコードから変更することもできます。

実行時に非表示または無効のコントロールやフォーカスを受け取れないコントロール (フレームやラベル) に対してもタブ オーダーは設定されています。ただし、Tab キーを押して移動するときには、これらのコントロールはスキップされます。

TabIndex プロパティは ZOrder メソッドの影響を受けません。


関連項目

ZOrder メソッド


Tag プロパティ (カスタム コントロール)

プログラムから参照するためのデータを格納する文字列式を指定します。値の取得も可能です。他のプロパティと異なり、Tag プロパティの値は Visual Basic によって使われることはありません。Tag プロパティはオブジェクトの識別子として利用できます。

構文

object.Tag [= expression]

Tag プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

expression	オブジェクトを識別する文字列式を指定します。既定値は長さ 0 の文字列 ("") です。

解説

既定値では、Tag プロパティは長さ 0 の文字列 ("") になります。Tag プロパティを使うと、他のプロパティや動作にはいっさい影響を与えず、オブジェクトを判別するための文字列を割り当てることができます。Tag プロパティは、コントロールや MDI フォームに対する識別子をコードから参照する必要があるときに役立ちます。


Visible プロパティ (カスタム コントロール)

オブジェクトを表示するか非表示にするかを指定する値を設定します。値の取得も可能です。

構文

object.Visible [= boolean]

Visible プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	オブジェクトを表示するか非表示にするかを示すブール式を指定します。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) オブジェクトを表示します。

False	オブジェクトを非表示にします。

解説

起動時にオブジェクトを非表示にするには、デザイン時に Visible プロパティを偽 (False) に設定します。このプロパティをコードで設定することによって、コントロールを非表示にした後で、実行時に特定のイベントに応じて再び表示することができます。


Picture プロパティ (カスタム コントロール)

関連項目

コントロール内に表示されるグラフィックスを設定します。

構文

object.Picture [= picture]

Picture プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

picture	グラフィックスを含むファイルを示す文字列式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 picture の設定値は次のとおりです。

設定値	内容

(なし)	(既定値) ピクチャはありません。

(ビットマップ、アイコン)	グラフィックスを指定します。デザイン時にプロパティ ウィンドウでグラフィックスを指定してロードすることができます。また、実行時にはビットマップまたはアイコンに対して LoadPicture 関数を使うことによって、このプロパティを設定できます。

解説

デザイン時に Picture プロパティを使ってフォームにグラフィックスをロードした場合、そのグラフィックスはフォームと一緒に保管、ロードされます。また、実行可能ファイルを生成すると、生成されたファイルにはイメージも含まれます。一方、グラフィックスを実行時にロードする場合は、そのグラフィックスはそのアプリケーションには保管されません。この場合、フォームまたはピクチャ ボックス (PictureBox) コントロールのグラフィックスをファイルに保管するには、SavePicture ステートメントを実行してください。

注   実行時には、Picture プロパティの設定を他のすべてのオブジェクトの DragIcon、Icon、Image、Picture の各プロパティに設定することができます。また、LoadPicture 関数の戻り値のグラフィックスを Picture プロパティに指定することもできます。ただし、いずれの場合も Picture プロパティへの代入は直接プロパティを指定して行う必要があります。変数に割り当てることはできません。


関連項目

Add メソッド (ListImages コレクション)

Add メソッド (Panels コレクション)

DragIcon プロパティ

Icon プロパティ

Image プロパティ

イメージ リスト コントロール

ListImage オブジェクト (ListImages コレクション)

Panel オブジェクト (Panels コレクション)


Icon プロパティ (カスタム コントロール)

関連項目

実行時に、フォームをアイコン化したときに表示されるアイコンを設定します。値の取得も可能です。

構文

object.Icon

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Icon プロパティは、実行時にユーザーがアイコン化できる (MinButton プロパティが真 (True) に設定されている) フォームに、アイコンを割り当てる場合に使います。フォームが持っている機能を表現するようなアイコンを割り当てると効果的です。

アイコンは、デザイン時にプロパティ ウィンドウの Icon プロパティを使って指定します。アイコンとして指定するファイルは、ファイル名の拡張子が .ICO のアイコン ファイル形式である必要があります。特にアイコンを指定しなかった場合は、Visual Basic で用意しているフォームを示すアイコンが割り当てられます。

\ICONS ディレクトリのアイコン ライブラリには、利用できるアイコンが豊富に用意されています。実行可能ファイルのアイコンを設定するには、そのアプリケーションのいずれかのフォームの Icon プロパティに、アイコンを設定します。

注   フォームのアイコンを表示するには、そのフォームをアイコン化する必要があります。このとき BorderStyle プロパティは 1 (ccFixedSingle) に設定してください。

実行時に、あるオブジェクトの Icon プロパティを他のオブジェクトの DragIcon または Icon プロパティとして設定することもできます。また、LoadPicture 関数の戻り値をアイコンとして代入することも可能です。たとえば、引数を省略した LoadPicture 関数を使って空のアイコンをフォームに代入しておき、実行中に別のアイコンを設定できます。


関連項目

BorderStyle プロパティ

DragIcon プロパティ

Icon プロパティ


Cancel プロパティ (3D コマンド ボタン コントロール)

関連項目

3D コマンド ボタンをそのフォームのキャンセル ボタンにするかどうかを設定します。値の取得も可能です。

構文

object.Cancel [= boolean]

Cancel プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	オブジェクトを キャンセル ボタンにするかどうかを示すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	3D コマンド ボタンはキャンセル ボタンになります。

False	(既定値) 3D コマンド ボタンはキャンセル ボタンになりません。

解説

キャンセル ボタンは、主にそれまでユーザーが行った変更を無効にして、フォームを変更前の状態に戻すといった用途に使われます。

フォーム上でキャンセル ボタンにできる 3D コマンド ボタン コントロールは 1 つだけです。1 つのコマンド ボタン コントロールの Cancel プロパティを真 (True) に設定すると、フォーム上のその他のすべてのコマンド ボタン コントロールの Cancel プロパティは自動的に偽 (False) に設定されます。

アクティブなフォーム上にキャンセル ボタンがあるとき、そのボタンを選択するには次に示す 3 つの方法があります。

そのコマンド ボタンをクリックする。

Esc キーを押す。

そのコマンド ボタンにフォーカスがあるときに Enter キーを押す。


関連項目

Default プロパティ

KeyDown、KeyUp イベント

KeyPress イベント


Align プロパティ (カスタム コントロール)

関連項目

オブジェクトの表示方法を設定します。値の取得も可能です。オブジェクトは、任意のサイズでフォームの任意の位置に表示するか、フォームの上端、下端、右端、左端に自動的にフォームの幅に合わせて表示することができます。

構文

object.Align [= number]

Align プロパティの指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	オブジェクトを表示する方法を整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 number の設定値は次のとおりです。

設定値	内容

0	(既定値) なし。
サイズと位置はデザイン時、または実行時にコードで設定できます。MDI フォームでは、この設定は無視されます。

1	上に合わせる。
オブジェクトはフォームの上端に表示され、その幅はフォームの ScaleWidth プロパティに設定された値と等しくなります。

2	下に合わせる。
オブジェクトはフォームの下端に表示され、その幅はフォームの ScaleWidth プロパティに設定された値と等しくなります。

3	左に合わせる。
オブジェクトはフォームの左端に表示され、その幅はフォームの ScaleWidth プロパティに設定された値と等しくなります。

4	右に合わせる。
オブジェクトはフォームの右端に表示され、その幅はフォームの ScaleWidth プロパティに設定された値と等しくなります。

解説

Align プロパティを使って、ツールバーやステータス バーをフォームの上下左右の端に、簡単に作成できます。ユーザーがフォームのサイズを変更すると、Align プロパティの値を 1 か 2 に設定されたオブジェクトは、自動的にフォームの幅に合うようにサイズが変更されます。


関連項目

Negotiate プロパティ


AutoSize プロパティ (カスタム コントロール)

コントロールのサイズが、その内容 (ロードするピクチャのサイズなど) に合わせて自動的に変更されるかどうかを設定します。値の取得も可能です。

構文

object.AutoSize [= boolean]

AutoSize プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	コントロールの大きさを自動的に変更するかどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	内容に合わせて、自動的にコントロールの大きさが変更されます。

False	(既定値) コントロールの大きさを一定に保ちます。コントロールの大きさからはみ出した部分は画面に表示されません。


DragIcon プロパティ (カスタム コントロール)

関連項目

ドラッグ アンド ドロップ操作中に、ポインタとして表示されるアイコンを設定します。値の取得も可能です。

構文

object.DragIcon [= icon]

DragIcon プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

icon	アイコンとして有効な値を返すコードを指定します。フォームのアイコン (Form1.Icon) や他のコントロールの DragIcon プロパティ (Text1.DragIcon) を参照したり、LoadPicture 関数を使うことができます。

設定値

引数 icon の設定値は次のとおりです。

設定値	内容

(なし)	(既定値) 四角形に囲まれた矢印ポインタが表示されます。

Icon	指定したマウス ポインタが表示されます。アイコンを指定するには、デザイン時にプロパティ ウィンドウで、アイコン ファイルを指定してロードするか、または実行時に LoadPicture 関数を使います。ロードするファイルは、拡張子が .ICO で、アイコン ファイル形式でなければなりません。

解説

DragIcon プロパティを使うことにより、ドラッグ操作が行われていることをユーザーにわかりやすく伝えることができます。たとえば、ソース コントロールが対応するターゲット上にあることを示す場合などに使用できます。DragIcon プロパティに設定されたアイコンは、ユーザーがドラッグ操作を開始すると同時に有効になります。通常、DragIcon プロパティは MouseDown イベント プロシージャまたは DragOver イベント プロシージャで設定します。

注   実行時における DragIcon プロパティの設定値は、他のオブジェクトの DragIcon プロパティまたは Icon プロパティ、または LoadPicture 関数の戻り値として得られたアイコンのいずれでもかまいません。


関連項目

Drag メソッド

DragOver イベント

Icon プロパティ

MouseDown、MouseUp イベント


DragMode プロパティ (カスタム コントロール)

関連項目

ドラッグ アンド ドロップ操作におけるドラッグ モードを手動と自動のどちらかに設定します。値の取得も可能です。

構文

object.DragMode [= number]

DragMode プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	ドラッグ モードを整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 number の設定値は次のとおりです。

設定値	内容

0	(既定値) 手動。
対象のコントロールのドラッグ アンド ドロップ操作を開始するには、Drag メソッドを使います。

1	自動。
対象のコントロールをクリックすると、自動的にドラッグ アンド ドロップ操作が開始されます。OLE コンテナ (OLE) コントロールは、フォーカスを持っていないときにだけ、自動的にドラッグされます。

解説

DragMode プロパティを 1 (自動) に設定すると、そのコントロールはマウスからの通常のイベントを認識しなくなります。ドラッグ アンド ドロップ操作の開始や終了を識別するには、0 (手動) に設定してください。この設定は、キーボードやメニュー コマンドに応答してドラッグ アンド ドロップ操作を開始したり、ドラッグ アンド ドロップ操作の前に、ソース コントロールに MouseDown イベントを認識させる場合に役立ちます。

ドラッグ アンド ドロップ操作中に、マウス ポインタがターゲット オブジェクトやフォーム内にあるときにマウスをクリックすると、ターゲット オブジェクトの DragDrop イベントが発生してドラッグ アンド ドロップ操作は終了します。ドラッグ アンド ドロップ操作によって DragOver イベントも発生します。

注   コントロールがドラッグされている間、ユーザーの操作によって発生するマウスやキーボードに関連した他のイベント (KeyDown、KeyPress、KeyUp、またはMouseDown、MouseMove、MouseUp) は認識されません。ただしコントロールは、コードまたは DDE リンクからの操作によって発生したイベントを認識します。


関連項目

Drag メソッド

DragDrop イベント

DragOver イベント

KeyDown、KeyUp イベント

KeyPress イベント

MouseDown、MouseUp イベント

MouseMove イベント


hWnd プロパティ (カスタム コントロール)

フォームまたはコントロールに、ハンドルを返します。

注   このプロパティは OLE コンテナ (OLE) コントロールでは、サポートされていません。

構文

object.hWnd

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Microsoft Windows では、アプリケーション内の各フォームおよびコントロールを識別するために、各オブジェクトにハンドル hWnd を割り当てます。hWnd プロパティは Windows API の呼び出しで使われます。Windows で使われる多くの関数は、引数として現在のウィンドウの hWnd を必要とします。

注   hWnd プロパティの値はプログラムの実行中に変更される可能性があるので、値は変数に格納しないで、直接参照するようにしてください。


ItemData プロパティ (アウトライン コントロール)

アウトライン コントロールに含まれる各項目に、個別の番号を設定します。値の取得も可能です。デザイン時には使えません。

構文

object.ItemData(index) [= number]

ItemData プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

index	オブジェクトに含まれる項目を示す番号を指定します。

number	引数 index で指定される項目と関連付ける個別の番号を指定します。

解説

ItemData プロパティは、長整数型 (Long) の値を構成要素とする配列で、コントロールの List プロパティと同じ数の項目を含みます。これらの番号は、リスト内の各項目を指定するために使用できます。

注   AddItem メソッドを使ってリストに項目を追加したときは、項目は自動的に ItemData プロパティの配列にも追加されます。ただし、その値は初期化された値が割り当てられるのではなく、リスト内の追加された場所の項目に割り当てられていた ItemData プロパティと同じ値になります。ItemData プロパティを使うときは、新しくリストに追加する項目に割り当てる値を必ず代入するようにしてください。


関連項目

AddItem メソッド

List プロパティ


Locked プロパティ (リッチテキスト ボックス コントロール)

関連項目

コントロールの設定変更が可能かどうかを設定します。値の取得も可能です。

構文

object.Locked [ = boolean]

Locked プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	コントロールの設定変更が可能かどうかをブール式で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	コントロール内のテキストのスクロールと強調表示は可能ですが、変更はできません。コードを使用すれば、Text プロパティを変更してテキストを修正できます。

False	コントロール内のテキストを変更できます。


関連項目

Text プロパティ


Default プロパティ (3D コマンド ボタン コントロール)

関連項目

フォームで、デフォルト ボタンとなる 3D コマンド ボタン コントロールを設定します。値の取得も可能です。

構文

object.Default[= boolean]

Default プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	3D コマンド ボタンを、デフォルトのコマンド ボタンにするかどうかを示すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定は次のとおりです。

設定値	内容

True	設定された 3D コマンド ボタン コントロールが、デフォルトのコマンド ボタンになります。

False	(既定値) 3D コマンド ボタン コントロールは、デフォルトのコマンド ボタンにはなりません。

解説

1 つのフォームでこのプロパティを設定できる 3D コマンド ボタンは 1 つだけです。あるコマンド ボタンの Default プロパティが真 (True) に設定されると、そのフォームの他のすべてのボタンの Default プロパティは自動的に偽 (False) に設定されます。Default プロパティが真 (True) に設定されていて、その親フォームがアクティブであるとき、ユーザーは Enter キーを押すことでそのコマンド ボタンを選択できます。つまり、Click イベントを発生させます。ユーザーが同じフォームの他のコマンド ボタンにフォーカスを移動しない限り、他のフォーカスのあるコントロールが、Enter キーのキーボード イベント (KeyDown、KeyPress、KeyUp) を受け取ることはできません。同じフォームの他のコマンド ボタンにフォーカスを移動した場合は、Enter キーを押すことによって、デフォルトのコマンド ボタンではなく、フォーカスを持っているコマンド ボタンが選択されます。

削除のように、取り消すことのできない操作を行うフォームやダイアログ ボックスでは、[キャンセル] ボタンの Default プロパティを真 (True) に設定して、それをデフォルトのコマンド ボタンにしてください。


関連項目

Cancel プロパティ

KeyDown、KeyUp イベント

KeyPress イベント


MousePointer プロパティ (カスタム コントロール)

関連項目

実行時にマウスがフォームまたはコントロール内の特定の位置に置かれたときに表示されるマウス ポインタの種類を設定します。値の取得も可能です。

構文

object.MousePointer [= value]

MousePointer プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	表示するマウス ポインタの種類を整数で指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 value の設定値は次のとおりです。

定数	値	内容

ccDefault	0	(既定値) 形状はオブジェクトによって決定されます。

ccArrow	1	矢印。

ccCross	2	クロス。十文字のポインタです。

ccIbeam	3	I- ビーム。アルファベットの I の形のポインタです。

ccIcon	4	アイコン。2 重の四角形のポインタです。

ccSize	5	サイズ (上下左右)。上下左右を指している矢印のポインタです。

ccSizeNESW	6	サイズ (右上 - 左下)。斜めに 2 方向を指している矢印のポインタです。

ccSizeNS	7	サイズ (上下)。上下 2 方向を指している矢印のポインタです。

ccSizeNWSE	8	サイズ (左上 - 右下)。斜めに 2 方向を指している矢印のポインタです。

ccSizeEW	9	サイズ (左右)。左右 2 方向を指している矢印のポインタです。

ccUpArrow	10	上矢印。

ccHourglass	11	砂時計 (待機)。

ccNoDrop	12	禁止。

ccArrowHourglass	13	矢印と砂時計。32 ビット版の Visual Basic のみ使用できます。

ccArrowQuestion	14	矢印と疑問符。32 ビット版の Visual Basic のみ使用できます。

ccSizeAll	15	サイズ (すべて)。32 ビット版の Visual Basic のみ使用できます。

ccCustom	99	MouseIcon プロパティによって設定するユーザー定義のアイコンです。

解説

MousePointer プロパティはマウス ポインタの形状を管理します。このプロパティは、マウス ポインタがフォームやダイアログ ボックス上を通過したときに生じる機能上の変化を視覚的に表現したい場合に使われます。たとえば、砂時計 (MouseIcon プロパティを 11 に設定) を表示して、処理または操作が終了するまで待機するように、ユーザーに指示できます。

注   Screen オブジェクトの MousePointer プロパティを設定すると、ポインタの設定は全画面に対して一様に適用されます。アプリケーションが DoEvents 関数を呼び出さず、しかも 32 ビット アプリケーションでないときには、すべてのコントロールと他のアプリケーションにおける MousePointer プロパティの設定が無効になります。アプリケーションが DoEvents 関数を呼び出している場合、カスタム コントロール内にマウス ポインタがあるときに MousePointer プロパティが一時的に変わることもあります。

“cc”というプリフィックスは、Windows 95 コントロールが対象です。プリフィックスはコントロールによって違います。ただし、定数の内容は同じです。


関連項目

DragIcon プロパティ

MouseIcon プロパティ

MouseMove イベント

リッチ テキスト ボックス コントロールの定数


SelLength、SelStart、SelText プロパティ (カスタム コントロール)

関連項目

SelLength プロパティは、選択されたテキストのバイト数を設定します。値の取得も可能です。

SelStart プロパティは、選択されたテキストの開始点を設定します。値の取得も可能です。テキストが選択されていないときは、挿入ポインタの位置を示します。

SelText プロパティは、現在選択されているテキストを含む文字列を設定します。値の取得も可能です。文字が選択されていないときは、長さ 0 の文字列 ("") を返します。

これらのプロパティは、デザイン時には使えません。

構文

object.SelLength [= number]

object.SelStart [= index]

object.SelText [= value]

SelLength、SelStart、SelText プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	選択されている文字のバイト数を表す数式を指定します。SelLength プロパティと SelStart プロパティでは、設定可能な値の有効な範囲は 0 から、コンボ ボックス (ComboBox) コントロールまたはテキスト ボックス (TextBox) コントロールのテキストの長さ (編集領域の文字の総数) までです。

index	選択されているテキストの開始点を示す数式を指定します。設定する値については、次の「設定値」を参照してください。

value	選択されているテキストを含む文字列式を指定します。

解説

SelLength、SelStart、SelText の各プロパティは、挿入ポインタの設定、挿入範囲の選択、コントロール内の文字列の選択、テキストの消去などの操作に使われます。これらのプロパティを Clipboard オブジェクトと組み合わせて使うと、切り取り、コピー、貼り付けの各操作が実行できます。

これらのプロパティを使うときは、次の点に注意してください。

SelLength プロパティに負の値を設定すると実行時エラーが発生します。

SelStart プロパティに、そのとき表示されている文字列の文字数より大きい値を設定すると、テキストの文字数と等しい値を設定したのと同じ結果になります。このとき、表示されているテキストの末尾が挿入ポインタの位置になり、SelLength プロパティは 0 に設定されます。

SelText プロパティに新しい値を設定すると、SelLength プロパティには 0 が代入され、現在選択されているテキストが新しい文字列に置き換えられます。


関連項目

SelText プロパティ (マスク エディット)

Text プロパティ (マスク エディット)


TabStop プロパティ (カスタム コントロール)

関連項目

Tab キーを使ってフォーカスを移動するとき、そのオブジェクトにフォーカスが移るかどうかを示す値を設定します。値の取得も可能です。

構文

object.TabStop [= boolean]

TabStop プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	オブジェクトにフォーカスを移動できるかどうかを示すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 boolean の設定値は次のとおりです。

設定値	内容

True	(既定値) Tab キーでそのオブジェクトにフォーカスが移動します。

False	Tab キーを押しても、そのオブジェクトにはフォーカスは移動しません。また、TabIndex プロパティを通じてタブ オーダーが設定されていても、フォーカスは移動しません。

解説

TabStop プロパティを使うと、フォーム内のタブ オーダーからコントロールをはずしたり加えたりできます。たとえば、ピクチャ ボックス (PictureBox) コントロールを使って描画するときに、その TabStop プロパティを偽 (False) に設定することで、ユーザーが Tab キーを使って、そのピクチャ ボックス コントロールにフォーカスを移動できないようにできます。


関連項目

TabIndex プロパティ


MouseIcon プロパティ (カスタム コントロール)

関連項目

ユーザー定義のマウス アイコンを設定します。

構文

object.MouseIcon = LoadPicture(pathname)

object.MouseIcon = picture

MouseIcon プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

pathname	ユーザー定義のアイコンのファイルのパスとファイル名を表す文字列式を指定します。

picture	Form オブジェクト、ピクチャ ボックス (PictureBox) コントロール、イメージ (Image) コントロールの Picture プロパティを指定します。

解説

MouseIcon プロパティには、MousePointer プロパティを 99 に設定した場合に使用する、ユーザー定義のアイコンを設定します。Visual Basic Version 4.0 では、スタティック ポインタ ファイル (.CUR) を作成することはできませんが、MouseIcon プロパティを使用して、スタティック ポインタ ファイルまたはアイコン ファイルをロードできます。MouseIcon プロパティを使用すると、どの大きさのユーザー定義のスタティック ポインタ ファイルでも、プログラムから簡単に操作できます。また、任意の位置にホット スポットを設定することもできます。32 ビット版のウィンドウズではアニメーション ポインタ ファイル (.ANI) がサポートされていますが、32 ビット版の Visual Basic では、アニメーション ポインタ ファイルをロードできません。


関連項目

DragIcon プロパティ

Icon プロパティ

MousePointer プロパティ

Picture プロパティ


MaxLength プロパティ (リッチテキスト ボックス コントロール)

関連項目

リッチテキスト ボックス コントロールに入力するバイト数を制限するかどうかを示す値を設定します。値の取得も可能です。入力可能なバイト数を制限する場合は、その最大値を指定します。

構文

object.MaxLength [= value]

MaxLength プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	リッチテキスト ボックス コントロールにユーザーが入力できるバイト数の最大値を整数で指定します。MaxLength プロパティの既定値は 0 です。この場合 1 行のテキスト ボックスはシステムのメモリが許す限りの長さの文字列を受け取り、複数行のテキスト ボックスは最大約 32KB の文字列を受け取ることができます。0 よりも大きい値を設定すると、その値が最大バイト数を示します。

解説

MaxLength プロパティは、ユーザーが入力できる最大バイト数を設定するときに使います。

MaxLength プロパティの設定よりも長いテキストを割り当てようとすると、エラーは発生しませんが、最大バイト数を超える部分は Text プロパティに格納されません。このプロパティの値を変更しても現在の内容には影響しませんが、以降の変更に影響を与えます。


関連項目

MultiLine プロパティ

Text プロパティ


MultiLine プロパティ (リッチテキスト ボックス コントロール)

関連項目

リッチテキスト ボックス コントロールにおいて、複数行のテキストの取得と表示ができるように設定します。実行時には値の取得のみ可能です。

構文

object.MultiLine

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

設定値

MultiLine プロパティの設定値は次のとおりです。

設定値	内容

True	複数行のテキストの取得と表示を可能にします。

False	(既定値) 改行を無視し、データを 1 行に詰めて表示します。

解説

MultiLine プロパティを真 (True) に設定すると、入力されたテキストが表示領域 (右端) を超えるときに折り返しが行われます。

大きなリッチテキスト ボックス コントロールの場合、ScrollBars プロパティを使ってスクロール バーを表示することも可能です。この場合、水平スクロール バー (HScrollBar) コントロールが指定されない限り、複数行のテキストは自動的に折り返されます。

注   デフォルト ボタンのないフォームでは、複数行を表示できるリッチテキスト ボックス コントロールの内部で Enter キーを押すと改行されます。デフォルト ボタンが存在するフォームで改行するには、Ctrl + Enter キーを押してください。


関連項目

ScrollBars プロパティ


Appearance プロパティ (カスタム コントロール)

関連項目

MDIForm オブジェクトや Form オブジェクトのコントロールの描画スタイルを設定します。値の取得も可能です。実行時には値の取得のみ可能です。

構文

[object].Appearance

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

設定値

Appearance プロパティの設定値は次のとおりです。

設定値	内容

0	平面。3D 効果なしでコントロールおよびフォームを描画します。

1	(既定値) 3D。コントロールを描画するときに、3-D 効果を持たせます。

解説

デザイン時に、Appearance プロパティに 1 を設定すると、3D 効果を持つコントロールが描画されます。また、実行時のフォームとコントロールの BackColor プロパティは、Windows のコントロール パネルで選択した、ボタンの色に設定されます。


関連項目

BackColor、ForeColor プロパティ


ScrollBars プロパティ (リッチテキスト ボックス コントロール)

関連項目

オブジェクトの水平および垂直のスクロール バーを設定します。実行時には値の取得のみ可能です。

構文

object.ScrollBars

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

設定値

リッチテキスト ボックス コントロールの ScrollBars プロパティの設定値は次のとおりです。

定数	値	内容

rtfNone	0	(既定値) なし

rtfHorizontal	1	水平

rtfVertical	2	垂直

rtfBoth	3	両方

解説

リッチテキスト ボックス コントロールで 1 (水平)、2 (垂直)、3 (両方) のいずれかに設定してスクロール バーを表示するには、MultiLine プロパティを真 (True) に設定する必要があります。

実行時は、方向キー、Home キー、End キーなどの標準的なキーボード インターフェイスも使えます。

テキストのすべての行を一度に表示できないときに垂直スクロール バーが表示されます。ScrollBars プロパティを偽 (False) に設定すると、オブジェクトの内容にかかわりなく、スクロール バーは表示されません。


関連項目

MultiLine プロパティ


Caption プロパティ (カスタム コントロール)

関連項目

コントロール上またはコントロールの隣に表示されるテキストの設定に使用します。タブ ダイアログ コントロールでは、アクティブなタブのキャプションの取得および設定を行います。

構文

object.Caption [= string]

Caption プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

string	キャプションとして表示されるテキストを示す文字列式を指定します。

解説

新しくオブジェクトを作成したときの Caption プロパティの既定値は、Name プロパティの既定値と同じです。つまり、Command1 や Form1 など、オブジェクト名と番号の組み合わせが既定値になります。既定値以外のラベルをつける場合は、Caption プロパティを使って設定します。

コントロールにアクセス キーを割り当てる場合も、Caption プロパティを使います。キャプションを設定するときに、アクセス キーとして設定する文字の直前にアンパサンド (&) を付けます。アクセス キーとして設定された文字は、画面では下線付きで表示されます。Alt キーを押しながら下線の付いた文字を押すと、フォーカスがそのコントロールに移動します。また、アンパサンドをアクセス キーを作成するための記号としてではなく、文字として表示する場合は、アンパサンドを 2 回続けて記述 (&&) します。この場合、画面に表示されるアンパサンドは 1 個だけで、どの文字にも下線は付けられません。

タブ ダイアログ コントロールの場合、デザイン時に設定可能な Caption プロパティは、Tab プロパティで指定された TabCaption() プロパティの値になります。


関連項目

Name プロパティ

Tab プロパティ (タブ ダイアログ コントロール)

TabCaption プロパティ


Enabled プロパティ (カスタム コントロール)

コントロールに、ユーザーの操作で発生したイベントを認識させるかどうかを設定します。値の取得も可能です。

構文

object.Enabled [= boolean]

Enabled プロパティの構文の指定項目は次のとおりです。

指定項目	内容

０

object	オブジェクトへの参照を表すオブジェクト式を指定します。

boolean	object がユーザーの操作で発生するイベントを認識するかどうかを示す、ブール式を指定します。

設定値

引数 boolean の設定値は次のとおりです。

値	内容

True	(既定値) object はイベントを認識します。

False	object はイベントを認識しません。

解説

Enabled プロパティを使うと、コントロールがイベントを認識するかどうかを実行時に切り換えることができます。たとえば、アプリケーションの状態に左右されないオブジェクトや、メッセージを表示するためだけに使うテキスト ボックスなどは、あらかじめ Enabled プロパティを偽 (False) に設定しておきます。


Font プロパティ (カスタム コントロール)

Font オブジェクトを取得します。

構文

object.Font

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

オブジェクトの Font プロパティは、利用するプロパティを持つ、特定の Font オブジェクトを指定します。たとえば、次のコードは TextBox オブジェクト (txtFirstName) の Font プロパティを使って Font オブジェクトを指定し、その Bold プロパティを変更します。

txtFirstName.Font.Bold = True


HelpContextID プロパティ (カスタム コントロール)

ヘルプに対応するコンテキスト番号をオブジェクトに設定します。値の取得も可能です。状況依存のヘルプを作成するために使用します。

構文

object.HelpContextID [= number]

HelpContextID プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	object に対応する、ヘルプ トピックのコンテキスト番号を表す数式を指定します。

設定値

引数 number の設定値は次のとおりです。

設定値	内容

0	(既定値) コンテキスト番号は指定されません。

> 0	有効なコンテキスト番号を指定するための整数です。

解説

状況依存のヘルプを作成するには、object と、それに関するヘルプ トピックに、同じコンテキスト番号を割り当てて対応させます。コンテキスト番号の割り当ては、ヘルプ ファイルをコンパイルする前に行っておきます。

作成するアプリケーションのヘルプ ファイルを作成し、アプリケーションの HelpFile プロパティを設定しておくと、ユーザーが F1 キーを押したときに、ヘルプが自動的に呼び出され、現在のコンテキスト番号で指定されているトピックが検索されます。

現在のコンテキスト番号は、フォーカスを持つオブジェクトの HelpContextID プロパティの値で示されます。HelpContextID プロパティの値が 0 の場合、そのオブジェクトのコンテナの HelpContextID プロパティが調べられます。この値が 0 の場合、さらにそのコンテナを含むコンテナが調べられます。このようにさかのぼって調べた結果、0 でないコンテキスト番号が見つかない場合は、F1 キーの入力は無視されます。

注   ヘルプ ファイルを作成するには、ヘルプ コンパイラが必要です。ヘルプ コンパイラは Visual Basic Professional Edition に含まれています。


Index プロパティ (コントロール配列)

関連項目

コントロール配列内のコントロールを特定する番号 (インデックス番号) を設定します。値の取得も可能です。このプロパティは、コントロールがコントロール配列の要素である場合のみ利用できます。

構文

object[(number)].Index

Index プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	コントロール配列内の個々のコントロールを特定する整数への参照を表す数式を指定します。

設定値

引数 number の設定値は次のとおりです。

値	内容

値なし	(既定値) コントロールはコントロール配列に含まれていません。

0 ～ 32,767	コントロールはコントロール配列に含まれています。コントロールをコントロール配列に割り当てるには、Index プロパティに 0 以上の整数を指定するか、または 2 個以上のコントロールの Name プロパティに、同じ名前を指定します。この場合、Index プロパティには、コントロール配列内で利用可能な最小の整数が自動的に割り当てられます。

解説

同じコントロール配列に属する要素は、同じ名前 (Name プロパティに設定したコントロールの名前) を共有します。そのため、配列内の特定のコントロールを参照するには、コード内で Index プロパティの設定値、つまりインデックス番号を指定する必要があります。たとえば、MyButtons(3) のように、インデックス番号は、コントロール配列名の直後に、かっこで囲んで記述します。また、Tag プロパティの設定値を使って、コントロール配列内のコントロールを区別することもできます。

配列内のいずれかのコントロールでイベントが発生すると、その配列のイベント プロシージャが呼び出され、対応する要素の Index プロパティが、自動的に引数としてそのプロシージャに引き渡されます。Index プロパティは、実行時に Load ステートメントを使ってコントロールを動的に生成するときや、Unload ステートメントを使ってコントロールを削除するときにも使用されます。

Microsoft Visual Basic では、コントロール配列に新しく追加されたコントロールの Index プロパティの値に、次のインデックスを示す利用可能な整数値が自動的に割り当てられますが、この値を別の値で上書きして、インデックス番号をスキップすることもできます。また、コントロール配列の最初のコントロールの Index プロパティには、0 以外の整数を割り当てることもできます。プログラムで参照している Index プロパティの値で、コントロール配列内のコントロールを特定できない場合、Visual Basic の実行時エラーが発生します。

注   コントロールをコントロール配列から取り除くには、コントロールの Name プロパティの設定を変更し、Index プロパティの設定を削除します。


関連項目

Name プロパティ

Tag プロパティ


Name プロパティ

関連項目

プログラムで使用するオブジェクトを識別するための名前を取得します。

構文

object.Name

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

新しく作成したオブジェクトには、そのオブジェクトの種類を示す名前に、同じ種類の他のオブジェクトと重複しない数字を付けた値が、初期設定として割り当てられます。たとえば、1 つめのリスト ビュー コントロールには“ListView1”、同様にプログレス バー コントロールには“ProgressBar1”、フォーム上で 3 つめに作成したイメージ リスト コントロールには“ImageList3”が設定されます。

オブジェクトの Name プロパティは必ず英文字で始まり、最大 40 文字までです。途中に数字およびアンダースコア (_) を入れることはできますが、句読点や空白文字は使用できません。フォームの名前として、他の特殊オブジェクト (Clipboard、Screen、App など) と同じ名前は使用できません。キーワード、プロパティ名、または他のオブジェクト名と同じ名前は使用してもかまいません。ただし、このような名前を設定すると、コードで問題が発生する可能性があります。

注   コントロールを新規に作成したとき、Name、Caption、および Text の各プロパティにはすべて同じ初期設定値が割り当てられます。ただし、これらのプロパティを変更しても、他のプロパティの値は自動的に変更されません。


関連項目

Caption プロパティ

Caption プロパティ (Tab オブジェクト)

Text プロパティ

Text プロパティ (マスク エディット)


Parent プロパティ

コントロールを含むフォームを返します。

構文

object.Parent

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Parent プロパティは、親オブジェクトのプロパティ、メソッド、コントロールなどを操作するために使います。たとえば、次のように使います。

MyButton.Parent.MousePointer = 4

Parent プロパティは、オブジェクトを引数として渡すアプリケーションで使用します。たとえば、引数としてコントロールをジェネラル プロシージャに渡す場合、ジェネラル プロシージャ内では、渡されたコントロールの Parent プロパティを使って、その親フォームを操作できます。


Count プロパティ (カスタム コントロール)

関連項目

コレクションにあるメンバの数を返します。

構文

object.Count

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

Count プロパティは、コントロール自体ではなくコレクションと共に使用します。たとえば、次のコードは、タブ ストリップ コントロールの Tabs コレクションに含まれる Tab オブジェクトの数を取得します。

' タブの数を取得します。

x = TabStrip1.Tabs.Count


関連項目

Add メソッド (Buttons コレクション)

Add メソッド (ColumnHeaders コレクション)

Add メソッド (ListImages コレクション)

Add メソッド (ListItems コレクション)

Add メソッド (Nodes コレクション)

Add メソッド (Panels コレクション)

Add メソッド (Tabs コレクション)

Item メソッド

Remove メソッド


Object プロパティ (カスタム コントロール)

Microsoft Visual Basic によって自動的にカスタム コントロールに拡張されるプロパティまたはメソッドと同じ名前のプロパティまたはメソッドが、カスタム コントロールで定義された場合、カスタム コントロール自体のプロパティまたはメソッドへの参照を返します。

構文

object.Object[.property | .method] [= value]

Object プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

property	Visual Basic のプロパティと同じ名前のカスタム コントロールのプロパティを指定します。

method	Visual Basic で提供されているメソッドと同じ名前のカスタム コントロールのメソッドを指定します。

value	プロパティまたはメソッドの、定数または値を指定します。

解説

Visual Basic の標準のプロパティおよびメソッドの一部、またはすべては、プロジェクト内のカスタム コントロールで使用できます。また、カスタム コントロールでは、これらの標準のプロパティおよびメソッドと同じ名前のプロパティおよびメソッドを定義できます。この場合、Visual Basic では、カスタム コントロールによって定義されたプロパティおよびメソッドではなく、Visual Basic の同じ名前のプロパティおよびメソッドが自動的に使用されます。カスタム コントロールによって定義されたプロパティおよびメソッドを操作するには、Object プロパティを使用します。

たとえば、Tag プロパティは、Visual Basic のプロジェクトのすべてのカスタム コントロールに対して使用できます。プロジェクトに ctlDemo という名前のカスタム コントロールがある場合、次のようにその Tag プロパティを参照します。

ctlDemo.Tag

この場合、Visual Basic に標準の Tag プロパティが自動的に使用されます。カスタム コントロールで定義された Tag プロパティを参照する場合には、次のように Object プロパティを使用します。

ctlDemo.Object.Tag

Visual Basic では、プロジェクト内のカスタム コントロールに対して、次のプロパティおよびメソッドの一部、またはすべてが自動的に拡張されます。

プロパティ
Align	DragIcon	LinkMode	TabIndex
Cancel	DragMode	LinkItem	TabStop
Container	Enabled	LinkTimeout	Tag
DataChanged	Height	LinkTopic	Top
DataField	HelpContextID	Name	Visible
DataSource	Index	Negotiate	WhatsThisHelpID
Default	Left	Parent	Width
メソッド
Drag	LinkRequest	SetFocus
LinkExecute	LinkSend	ShowWhatsThis
LinkPoke	Move	ZOrder
カスタム コントロールのプロパティまたはメソッドが予期しない動作をする場合、同じ名前のプロパティまたはメソッドが、Visual Basic にないかどうか確認してください。同じ名前のプロパティまたはメソッドがある場合は、カスタム コントロールのマニュアルを参照し、プロパティまたはメソッドの動作が、Visual Basic のプロパティまたはメソッドの動作かどうかを確認します。動作が同じではない場合、Object プロパティを使用してカスタム コントロールのプロパティまたはメソッドを参照または操作してください。


Container プロパティ (カスタム コントロール)

例

Form オブジェクト上のコントロールのコンテナを設定します。値の取得も可能です。デザイン時には使えません。

構文

Set object.Container [= container]

Container プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

container	他のコントロールのコンテナとして使用するオブジェクトへの参照を表すオブジェクト式を指定します。

解説

次のコントロールは、他のコントロールのコンテナとして使用できます。

3D フレーム コントロール

3D パネル コントロール


Container プロパティの例 (カスタム コントロール)

次のプログラムでは、同じフォームのコンテナ間でコマンド ボタン (CommandButton) コントロールを移動します。このプログラムを実行するには、3D フレーム コントロール、3D パネル コントロール、およびコマンド ボタン コントロールをフォームにそれぞれ配置します。フォーム モジュールのコード ウィンドウに下のコードを貼り付け、F5 キーを押します。

Private Sub Form_Click()

Static intX As Integer

Select Case intX

Case 0

Set Command1.Container = SSPanel1

Command1.Top= 0

Command1.Left= 0

Case 1

Set Command1.Container = SSFrame1

Command1.Top= 0

Command1.Left= 0

Case 2

Set Command1.Container = Form1

Command1.Top= 0

Command1.Left= 0

End Select

intX = intX + 1

End Sub


Negotiate プロパティ (カスタム コントロール)

関連項目

フォーム上のアクティブなオブジェクトが 1 つ以上のツールバーを表示する場合に、コントロールを表示するかどうかを設定します。実行時には使えません。

設定値

Negotiate プロパティの設定値は次のとおりです。

設定値	内容

True	フォーム内でコントロールが特定の位置に配置されている (Align プロパティが 0 以外の値に設定されている) 場合、フォーム上のアクティブなオブジェクトがツールバーを表示しているときでも、コントロールは表示されたままになります。

False	(既定値) フォーム上のアクティブなオブジェクトがツールバーを表示しているとき、コントロールは表示されません。コントロールの位置には、アクティブなオブジェクトのツールバーが表示されます。

解説

すべてのコントロールには、Align プロパティとNegotiate プロパティがあります。


関連項目

Align プロパティ


DataChanged プロパティ (カスタム コントロール)

関連項目

連結コントロールのデータが、カレント レコードからデータを取得する以外の処理によって変更されたことを示す値を設定します。値の取得も可能です。デザイン時には使えません。

構文

object.DataChanged [= value]

DataChanged プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	データが変更されたかどうかを表すブール式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

value の設定値は次のとおりです。

値	説明

True	現在コントロール内にあるデータは、カレント レコード内のデータと異なります。

False	(既定値) 現在コントロール内にあるデータは、カレント レコード内のデータと同じです。

解説

データ (Data) コントロールは、レコード間を移動するときに、データをカレント レコードのフィールドから、特定のフィールドやレコード全体に連結されたコントロールに渡します。データが連結コントロールに表示されたとき、DataChanged プロパティの値は偽 (False) に設定されます。ユーザーまたは他の操作によって連結コントロール内の値が変更されたとき、DataChanged プロパティの値は真 (True) に設定されます。

データ コントロールが他のレコードに移動を開始すると、Validate イベントが発生します。ある連結コントロールに対して、DataChanged プロパティが真 (True) のとき、データ コントロールは Edit メソッドと Update メソッドを自動的に呼び出して、データベースに変更を通知します。

連結コントロールを使ってデータベースに変更を保存しない場合、Validate イベントで DataChanged プロパティを偽 (False) に設定します。

イベントの連鎖を避けるために、連結コントロールと非連結コントロールの Change イベントでは、コード内で DataChanged プロパティの値を調べてください。


関連項目

DataField プロパティ

DataSource プロパティ


DataField プロパティ (カスタム コントロール)

関連項目

カレント レコードのフィールドにコントロールを連結する値を設定します。値の取得も可能です。

構文

object.DataField [= value]

DataField プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

value	Recordset オブジェクトの 1 つのフィールド名への参照を表す、文字列式を指定します。この Recordset オブジェクトは、データ (Data) コントロールの RecordSource プロパティと DatabaseName プロパティによって指定されています。

解説

連結コントロールを使うと、データベースの特定のデータにアクセスできます。1 つのフィールドを処理する連結コントロールは、一般にカレント レコードの特定のフィールドの値を表示します。連結コントロールの DataSource プロパティは、有効なデータ コントロールの名前を示します。また、DataField プロパティは、データ コントロールによって作成された Recordset オブジェクトの有効なフィールド名を示します。この 2 つのプロパティによって、連結コントロールに表示されるデータが指定されます。

式の結果を返す、QueryDef オブジェクトや SQL ステートメントを使うとき、Microsoft Jet データベース エンジンはフィールド名を自動的に生成します。たとえば、SQL クエリーで SQL 集合関数や式をコードで記述するときは、AS 句を使って集合フィールドをエイリアス名で指定しない限り、フィールド名が自動的に生成されます。通常、式のフィールド名には、Expr1 の後に 000 から始まる 3 文字の数値が続きます。たとえば、最初に返される式には、Expr1000 という名前が付けられます。

SQL クエリーのコードを記述する場合、次に示すように、式の結果として生成される列にエイリアス名を付けることをお勧めします。

Data1.RecordSource = "Select AVG(Sales)  " _

& " AS AverageSales From SalesTable"

MyText.DataField = "AverageSales"

MyText.DataSource = Data1

Data1.Refresh

注   DataField プロパティには、各連結コントロールに対して有効な値を設定する必要があります。データ コントロールの RecordSource プロパティの設定値を変更し、Refresh メソッドを使うと、Recordset プロパティは新しく設定されたオブジェクトを認識します。この操作によって連結コントロールの DataField プロパティの設定値が無効になるため、トラップできるエラーが発生します。


関連項目

DataChanged プロパティ

DataSource プロパティ


DataSource プロパティ (カスタム コントロール)

関連項目

データベースに現在のコントロールを連結するために使用する、データ (Data) コントロールを設定します。実行時には使えません。

解説

実行時に、データベースのフィールドにコントロールを連結するには、デザイン時にプロパティ ウィンドウを使って、DataSource プロパティにデータ コントロールを指定しておく必要があります。

データ コントロールが処理する Recordset オブジェクト内のフィールドと連結するには、DataField プロパティに Field オブジェクト名も指定する必要があります。DataField プロパティとは異なり、実行時には DataSource プロパティを設定できません。


関連項目

DataChanged プロパティ

DataField プロパティ


WhatsThisHelpID プロパティ (カスタム コントロール)

関連項目

ヘルプに対応するコンテキスト番号をオブジェクトに設定します。値の取得も可能です。作成するアプリケーションで、Windows 95 ヘルプのコンテキスト ヘルプを使用してコンテキスト ヘルプを提供する場合に使用します。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.WhatsThisHelpID [= number ]

WhatsThisHelpID プロパティの構文の指定項目は次のとおりです。

指定項目	内容

object	オブジェクトへの参照を表すオブジェクト式を指定します。

number	ヘルプのコンテキスト番号を表す数式を指定します。設定する値については、次の「設定値」を参照してください。

設定値

引数 number の設定値は次のとおりです。

設定値	内容

0	(既定値) コンテキスト番号は指定されません。

>0	オブジェクトに対応するヘルプ トピックの有効なコンテキスト番号を指定する整数です。

解説

Microsoft Visual Basic アプリケーションでは、次の 2 種類のコンテキスト ヘルプを使用できます。

Microsoft Windows Version 3.1

Windows 95

Windows Version 3.1 では F1 キーを押すと Windows ヘルプが呼び出され、HelpContextID プロパティで指定したトピックが表示されます。通常、Windows 95 ではウィンドウの右上の [?] ボタンによって Windows ヘルプが呼び出され、WhatsThisHelpID プロパティで指定したトピックが表示されます。WhatsThisHelp プロパティを使用して、2 種類のコンテキスト ヘルプのどちらを使用するかを選択します。


関連項目

HelpContextID プロパティ

ShowWhatsThis メソッド

WhatsThisButton プロパティ

WhatsThisHelp プロパティ


ShowWhatsThis メソッド (カスタム コントロール)

関連項目	例

ヘルプ ファイルから選択されたトピックを、Windows 95 ヘルプのコンテキスト ヘルプを使用して表示します。

重要   このメソッドは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.ShowWhatsThis

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

解説

ShowWhatsThis メソッドは、アプリケーションでポップアップ メニューからコンテキスト ヘルプを表示する場合に役立ちます。ShowWhatsThis メソッドを呼び出すと、引数 object に指定したオブジェクトの WhatsThisHelpID プロパティに設定したトピックが表示されます。


関連項目

WhatsThisButton プロパティ

WhatsThisHelp プロパティ

WhatsThisHelpID プロパティ


ShowWhatsThis メソッドの例

次のプログラムでは、コマンド ボタン (CommandButton) コントロールに作成したポップアップ メニューからメニュー コマンドを選択し、コマンド ボタン コントロールのコンテキスト ヘルプのトピックを表示します。

Private ThisControl As Control

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

If Button = vbRightButton Then

Set ThisControl = Command1

PopupMenu mnuBtnContextMenu

End If

Set ThisControl = Nothing

End Sub

Private Sub mnuBtnWhatsThis_Click()

ThisControl.ShowWhatsThis

End Sub


WhatsThisButton プロパティ (カスタム コントロール)

関連項目

Form オブジェクトのタイトル バーに [?] ボタンを表示するかどうかを設定します。値の取得も可能です。実行時には値の取得のみ可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.WhatsThisButton

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

設定値

WhatsThisButton プロパティの設定値は次のとおりです。

設定値	内容

True	[?] ボタンが表示されます。

False	(既定値) [?] ボタンは表示されません。

解説

WhatsThisButton プロパティを真 (True) に設定する場合は、WhatsThisHelp プロパティも真 (True) に設定する必要があります。さらに、BorderStyle プロパティを、ccFixedSingle に設定します。


関連項目

BorderStyle プロパティ

ShowWhatsThis メソッド

WhatsThisHelp プロパティ

WhatThisHelpID プロパティ


WhatsThisHelp プロパティ (カスタム コントロール)

関連項目

コンテキスト ヘルプとして、Windows 95 ヘルプによって提供されるコンテキスト ヘルプとメイン ヘルプ ウィンドウのどちらを使うかを設定します。値の取得も可能です。実行時には値の取得のみ可能です。

重要   このプロパティは、Microsoft Windows 95 および Microsoft Windows NT Version 3.51 以降で動作します。

構文

object.WhatsThisHelp

引数 object には、オブジェクトへの参照を表すオブジェクト式を指定します。

設定値

WhatsThisHelp プロパティの設定値は次のとおりです。

設定値	内容

True	アプリケーションでいずれか 1 つのコンテキスト ヘルプの参照方法を使用して Windows ヘルプを起動し、WhatsThisHelpID プロパティに指定したトピックが表示されます。

False	(既定値) アプリケーションで F1 キーを使用して Windows ヘルプを起動しHelpContextID プロパティに指定したトピックが表示されます。

解説

アプリケーションでは、3 とおりの方法を使用して、コンテキスト ヘルプを参照できます。これらの方法を使用する場合は、WhatsThisHelp プロパティに真 (True) を設定しておく必要があります。

WhatsThisButton プロパティを設定し、フォームのタイトル バーに [?] ボタンを表示します。マウス ポインタは、コンテキスト ヘルプが表示される状態を表すヘルプ ポインタ (疑問符のついた矢印) に変化します。表示されるトピックは、クリックしたコントロールの WhatsThisHelpID プロパティに指定したトピックです。

フォームの WhatsThisMode メソッドを呼び出します。この方法ではボタンを使用しませんが、[?] ボタンをクリックする場合と同じ動作が発生します。WhatsThisMode メソッドを呼び出す方法として、アプリケーションのメニュー バーのメニュー コマンドから呼び出す方法があります。

特定のコントロールから ShowWhatsThis メソッドを呼び出します。表示されるトピックは、そのコントロールの WhatsThisHelpID プロパティに指定したトピックです。


関連項目

ShowWhatsThis メソッド

WhatsThisButton プロパティ

WhatsThisHelpID プロパティ


Windows 95 コントロールの定数

関連項目

次の定数はカスタム コントロールで定義されています。コードを記述するとき、実際の値の代わりに使用することができます。

BorderStyle 定数

MousePointer 定数

オブジェクト ブラウザで、メソッドおよびプロパティと共に使用できる組み込み定数の一覧を参照できます。[表示] - [オブジェクト ブラウザ] コマンドを選択し、適切なコントロールのライブラリと Constants オブジェクトを選択します。[オブジェクト ブラウザ] - [メソッド / プロパティ一覧] ボックスのリストをスクロールすると、すべての定数の一覧を参照できます。

注   定数のプリフィックスはコントロールまたはコントロール グループによって異なります。ただし、特に記載されていない限り、定数の内容は同じです。


関連項目

Visual Basic カスタム コントロールの定数


MousePointer 定数

関連項目

定数	値	内容

ccDefault	0	(既定値) オブジェクトによって決まる形状。

ccArrow	1	矢印。

ccCross	2	クロス (十文字のポインタ)。

ccIbeam	3	I ビーム。

ccIcon	4	アイコン (四角形内の小四角形)。

ccSize	5	サイズ 上下左右 (上下左右の 4 方向の矢印)。

ccSizeNESW	6	サイズ 右上 - 左下 (右上および左下の 2 方向の矢印)。

ccSizeNS	7	サイズ 上下 (上下の 2 方向の矢印)。

ccSizeNWSE	8	サイズ 左上 - 右下。

ccSizeEW	9	サイズ 左右 (左右の 2 方向の矢印)。

ccUpArrow	10	上矢印。

ccHourglass	11	砂時計 (待機)。

ccNoDrop	12	禁止。

ccArrowHourglass	13	矢印と砂時計 (32 ビット版の Visual Basic Version 4.0 のみ)。

ccArrowQuestion	14	矢印とクエスチョン マーク (32 ビット版の Visual Basic Version 4.0 のみ)。

ccSizeAll	15	SizeAll (32 ビット版の Visual Basic Version 4.0 のみ)。

ccCustom	99	ユーザー定義。MouseIcon プロパティで指定されたユーザー定義のアイコン。

注   定数の“cc”というプリフィックスはカスタム コントロールを意味します。プリフィックスはコントロールまたはコントロール グループによって異なります。ただし、特に記載されていない限り、定数の内容は同じです。


関連項目

BorderStyle 定数

MouseIcon プロパティ

Visual Basic カスタム コントロールの定数


BorderStyle 定数

関連項目

定数	値	内容

ccNone	0	(既定値) 境界および境界に関連する要素を表示しません。

ccFixedSingle	1	(リスト ビュー コントロールでは既定値) コントロール メニュー ボックス、タイトル バー、最大化ボタン、および最小化ボタンを表示できます。サイズ変更は最大化または最小化のみ行えます。

注   定数の“cc”というプリフィックスはカスタム コントロールを意味します。プリフィックスはコントロールまたはコントロール グループによって異なります。ただし、特に記載されていない限り、定数の内容は同じです。


関連項目

MousePointer 定数

Visual Basic カスタム コントロールの定数