<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: перебор элементов связанных/не связанных таблиц]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7819&amp;type=atom" />
	<updated>2012-11-29T18:48:40Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7819</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: перебор элементов связанных/не связанных таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66299#p66299" />
			<content type="html"><![CDATA[<p>Перебор элементов таблицы осуществляется следующим кодом:<br /></p><div class="codebox"><pre><code>
;_____________________________ цикл по таблице USE INFO 
	ControlGet, NumberOfObj, List, Count, SysListView322, Use Report:, 
	Loop %NumberOfObj%
	{
		Send, {DOWN}
	}</code></pre></div><p>1. При помощи &quot;Window Spy&quot; получаем параметр окна &quot;Use Report:&quot;... в данном случае это &quot;SysListView322&quot;.<br />2. Функция &quot;ControlGet&quot; помещает в переменную &quot;NumberOfObj&quot; значение &quot;Count&quot; равное количеству элементов(строк) в таблице &quot;Use Report:&quot;.<br />3. Далее следует цикл движения по таблице &quot;Use Report:&quot;</p><p>Продолжение следует <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Zergii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29062</uri>
			</author>
			<updated>2012-11-29T18:48:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66299#p66299</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: перебор элементов связанных/не связанных таблиц]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66223#p66223" />
			<content type="html"><![CDATA[<p>Здравствуйте.</p><p>Есть сложный интерфейс редактора CreationKit для игры Scyrim:<br /><a href="http://imageshost.ru/photo/312973/id2566045.html">http://imageshost.ru/photo/312973/id2566045.html</a></p><p>Начинаю производить перебор элементов таблиц следующим кодом:</p><div class="codebox"><pre><code>
	WinActivate ;

	;_____________________________ первый объект
	WinWait, Object Window, Filter, 3 ;
	IfWinNotActive, Object Window, Filter, WinActivate, Object Window, Filter
	WinWaitActive, Object Window, Filter
	MouseClick, left,  220,  53
	MouseClick, left,  220,  53

	;_____________________________ копируем имя первого объекта в буфер
	WinWait, Static, Has Platform/Languag
	IfWinNotActive, Static, Has Platform/Languag, WinActivate, Static, Has Platform/Languag
	WinWaitActive, Static, Has Platform/Languag
	Send, {CTRLDOWN}c{CTRLUP}{ESC}

	;_____________________________ записываем в CellView имя объекта
	WinWait, Cell View, No Cell Selected
	IfWinNotActive, Cell View, No Cell Selected, WinActivate, Cell View, No Cell Selected
	WinWaitActive, Cell View, No Cell Selected
	Send, {CTRLDOWN}v{CTRLUP}

	;_____________________________ открываем USE INFO у первого объекта
	WinWait, Object Window, Filter
	IfWinNotActive, Object Window, Filter, WinActivate, Object Window, Filter
	WinWaitActive, Object Window, Filter
	MouseClick, right,  220,  53
	Send, {UP}{ENTER}</code></pre></div><p>Дополнительные пояснения:<br />1 шаг: открываю свойства первого элемента окна &quot;Object Window&quot;(на картинке это &quot;Bridge01&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; т.к. позиция 1 элемента внутри окна будет постоянной, то использую относительные координаты.<br />2 шаг: копирую название элемента в буфер(возможно будет проверка на значение некоторых CHECKBOX).<br />3 шаг: при активации фокус окна &quot;Cell View&quot; стоит на поле фильтра &quot;No Cell Selected&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; заполняю это поле значением из второго шага.<br />4 шаг: для окна &quot;Object Window&quot; для первого элемента открываю через свойства элемента таблицу &quot;USE Report&quot;, делаю при помощи MouseClick+Key так будет быстрее.</p><p>Далее у меня &quot;затык&quot; <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />. Мне необходимо обойти элементы таблицы &quot;USE Report&quot;, при этом после каждого двойного клика по элементу таблицы &quot;USE Report&quot;, в таблице &quot;Cell View&quot; в разделе &quot;Editor ID&quot; будет оказываться один/несколько объектов в свойствах которых мне необходимо нажать CHECKBOX.</p><p>Собственно вопрос: Подскажите пожалуйста, как средствами AutoHotkey осуществить перебор элементов таблицы? Вообще управлять параметрами обхода таблицы возможно? т.е. в саму таблицу на первый элемент я попадаю легко через относительные координаты, по таблице я могу двигаться при помощи стрелки, но как определить конец таблицы или количество элементов?</p>]]></content>
			<author>
				<name><![CDATA[Zergii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29062</uri>
			</author>
			<updated>2012-11-27T17:36:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66223#p66223</id>
		</entry>
</feed>
