GETITEM

構文
  1. Integer = GETITEM( ID, 種別, [番号, リストビュー列, ディセーブルフラグ, 最大取得数] )
引数
ID
Windowを識別するID
種別
(複数指定可)
ITM_BTN
ボタン、チェックボックス、ラジオボタン
ITM_LIST
リストボックス、コンボボックス
ITM_TAB
タブコントロール
ITM_MENU
メニュー
ITM_TREEVIEW
ツリービュー(ITM_TREEVEW でも可)
ITM_LISTVIEW
リストビュー(ITM_LSTVEW でも可)
ITM_EDIT
エディトボックス
ITM_STATIC
スタティク
ITM_STATUSBAR
ステータスバー
ITM_TOOLBAR
ツールバー
ITM_LINK
リンク文字
ITM_ACCCLK
アクセシビリティ経由:クリック可能な物
ITM_ACCCLK2
アクセシビリティ経由:クリック可能な物(選択可のテキストも含める)
ITM_ACCTXT
アクセシビリティ経由:スタティク文字
ITM_ACCEDIT
アクセシビリティ経由:エディト内文字
ITM_FROMLAST
アクセシビリティ経由(ITM_ACC*)指定時に後ろからサーチする
ITM_BACK
アクセシビリティ経由(ITM_ACC*)指定時にアクティブにしない
番号
ITM_LIST、ITM_TREEVIEW、ITM_LISTVIEW 複数存在時は左上からの順番を指定(-1にて全コントロール取得)
リストビュー列
リストビュー指定時のリストビューの列を指定(-1にてカラム名取得)
ディセーブル
FALSE
ディセーブルな物も取得(デフォルト)
TRUE
ディセーブルな物はを取得しない
最大取得数
アクセシビリティ経由(ITM_ACC*)指定時に取得する数を制限する
戻値

取得した数を返す(For In 構文にて指定された場合は各要素を返す)

取得した情報は配列変数のALL_ITEM_LIST[ ]に格納される(配列はゼロから)

プログラム実行例

CLKITEMで操作できる項目を取得

HASHTBL NAME

SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

DIM array[] = "ITM_BTN", "ITM_LIST", "ITM_MENU", "ITM_LISTVIEW", "ITM_TOOLBAR", "ITM_LINK"

FOR item IN array
	NAME[item] = item
NEXT

WHILE TRUE
	FUKIDASI("Alt+Xでカーソル下の情報を取得")
	IF GETKEYSTATE(VK_ALT) AND GETKEYSTATE(VK_X) THEN BREAK
WEND
FUKIDASI()

DIM ID = GETID(GET_FROMPOINT_WIN)

PRINT "DIM ID = GETID(<#DBL>" + STATUS(ID, ST_TITLE) + "<#DBL>, <#DBL>" + STATUS(ID, ST_CLASS) + "<#DBL>)"
PRINT

FOR item IN array
	PRINT "// [" + REPLACE(NAME[item], "ITM_", "CLK_") + "]"
	FOR item2 IN GETITEM(ID, EVAL(item))
		PRINT "CLKITEM(ID, <#DBL>" + item2 + "<#DBL>, " + REPLACE(NAME[item], "ITM_", "CLK_") + ")"
	NEXT
	PRINT
NEXT

PROCEDURE forceQuit()
	EXITEXIT
FEND
  1. GETITEM

メモ帳のメニューを取得・出力

DIM ID = EXEC("notepad")

FOR item IN GETITEM(ID, ITM_MENU)
	PRINT item
NEXT

CTRLWIN(ID, CLOSE)
  1. EXEC
  2. GETITEM
  3. CTRLWIN
結果
ファイル\新規
ファイル\新しいウィンドウ
ファイル\開く
ファイル\上書き保存
ファイル\名前を付けて保存
ファイル\ページ設定
ファイル\印刷
ファイル\メモ帳の終了
編集\元に戻す
編集\切り取り
編集\コピー
編集\貼り付け
編集\削除
編集\Bing で検索
編集\検索
編集\次を検索
編集\前を検索
編集\置換
編集\行へ移動
編集\すべて選択
編集\日付と時刻
書式\右端で折り返す
書式\フォント
表示\ズーム\拡大
表示\ズーム\縮小
表示\ズーム\既定の倍率に戻す
表示\ステータス バー
ヘルプ\ヘルプの表示
ヘルプ\フィードバックの送信
ヘルプ\バージョン情報
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    
    メモ帳を起動し、IDを取得。
  2. 3-5行目
    FOR item IN GETITEM(ID, ITM_MENU)
    	PRINT item
    NEXT
    
    メニューを配列で取得し、出力。
  3. 7行目
    CTRLWIN(ID, CLOSE)
    
    メモ帳を閉じる。

電卓を操作し計算した結果を取得

EXEC("calc")
DIM ID = GETID("電卓")

DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"

FOR item IN array
	CLKITEM(ID, item, ITM_BTN)
NEXT

FOR item IN GETITEM(ID, ITM_STATIC)
	IFB POS("表示は ", item) AND POS(" です", item) THEN
		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
	ENDIF
NEXT

CTRLWIN(ID, CLOSE)
  1. EXEC
  2. GETID
  3. CLKITEM
  4. GETITEM
  5. POS
  6. VAL
  7. REPLACE
  8. CTRLWIN
結果
18.4
解説
  1. 1行目
    EXEC("calc")
    
    電卓を起動。
  2. 2行目
    DIM ID = GETID("電卓")
    
    IDを取得。
  3. 4行目
    DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"
    
    入力するアイテム名の配列。
  4. 6-8行目
    FOR item IN array
    	CLKITEM(ID, item, ITM_BTN)
    NEXT
    
    配列に格納されているアイテムを順に実行。
  5. 10-14行目
    FOR item IN GETITEM(ID, ITM_STATIC)
    	IFB POS("表示は ", item) AND POS(" です", item) THEN
    		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
    	ENDIF
    NEXT
    
    計算結果はGETITEM関数で取得すると「表示は 〇〇 です」の形式なので、「表示は 」と「 です」が含まれるアイテムを取得し、余計な文字列を削除。
  6. 16行目
    CTRLWIN(ID, CLOSE)
    電卓を閉じる。