ControlGetIndex

ListBox、ComboBox、Tab コントロールで現在選択されている項目またはタブのインデックスを返します。

Index := ControlGetIndex(Control , WinTitle, WinText, ExcludeTitle, ExcludeText)

パラメータ

Control

型:文字列整数またはオブジェクト

コントロールのClassNN、text、HWND、またはHwndプロパティを持つオブジェクトを指します。詳しくは、「制御パラメータ」をご覧ください。

WinTitle、WinText、ExcludeTitle、ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。

ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。

戻り値

型:整数

この関数は、現在選択されている項目またはタブのインデックスを返す。最初のエントリやタブは1、2番目は2、といった具合です。エントリまたはタブが選択されていない場合、戻り値は 0 です。

エラー処理

ウィンドウまたはコントロールが見つからない場合、またはコントロールのクラス名に "Combo"、"List"、"Tab "が含まれない場合、TargetErrorが発生します。

コントロールにメッセージを送信できなかったときは、OSErrorがスローされます。

備考

タブコントロールにいくつのタブ(ページ)が存在するのかを知るには、次のような例があります。

TabCount := SendMessage(0x1304,,, "SysTabControl321", WinTitle)  ; 0x1304 は TCM_GETITEMCOUNT です。

ControlChooseIndex, ControlGetChoice, ControlChooseString, Value property (GuiControl object), Choose method (GuiControl object), Control functions

最初のタブコントロールのアクティブなタブ番号を取得します。

WhichTab := ControlGetIndex("SysTabControl321", "Some Window Title")
MsgBox "Tab #" WhichTab " is active."