ControlGetChoice

ListBox、ComboBox で現在選択されている項目の名前を返します。

Choice := ControlGetChoice(Control , WinTitle, WinText, ExcludeTitle, ExcludeText)

パラメータ

Control

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

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

WinTitle, WinText, ExcludeTitle, ExcludeText

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

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

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

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

戻り値

型:文字列

説明: ListBoxまたはComboBoxで現在選択されている項目の名前を返します。

エラー処理

ウィンドウまたはコントロールが見つからないときや、コントロールのクラス名に "Combo" または "List" が含まれないときは、TargetErrorがスローされます。

失敗するとErrorががスローされます。

備考

選択された項目の位置を取得する代わりに、次の例に従います(最初の2行のうち1行だけを使用します):

ChoicePos := SendMessage(0x0188, 0, 0, "ListBox1", WinTitle)  ; 0x0188 は、LB_GETCURSEL(リストボックスの場合)です。
ChoicePos := SendMessage(0x0147, 0, 0, "ComboBox1", WinTitle)  ; 0x0147 は、CB_GETCURSEL(DropDownList または ComboBox の場合)です。
ChoicePos += 1  ; 0ベースから1ベースへ、つまり最初の項目が0ではなく1とわかるように変換します。
; 選択されている項目がない場合、ChoicePosは0になるようにしました。

ControlChooseIndexControlChooseStringValueプロパティ(GuiControlオブジェクト)Chooseメソッド(GuiControlオブジェクト)Control関数