<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5305</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5305&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".».]]></description>
		<lastBuildDate>Tue, 28 Dec 2010 00:15:35 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43110#p43110</link>
			<description><![CDATA[<p>Как же я не заметил этого! — очень виноват.<br />Всё в порядке, большое спасибо.</p><p>Скрипт работает правильно.<br />Точки (координаты которых выводятся) — вершины кнопок полос прокрутки<br />(квадратик в нижнем правом углу, если полос - две —&nbsp; <br />не принадлежит ни одной полосе).</p>]]></description>
			<author><![CDATA[null@example.com (mih)]]></author>
			<pubDate>Tue, 28 Dec 2010 00:15:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43110#p43110</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43109#p43109</link>
			<description><![CDATA[<div class="quotebox"><cite>mih пишет:</cite><blockquote><p>к сожалению, всегда выдаёт только Ошибку 1400 (в любом окне, даже в&nbsp; Блокноте).</p></blockquote></div><p>Ошибка 1400 — ERROR_INVALID_WINDOW_HANDLE — неверно указанный хэндл контрола.<br />Ты указал нужный хэндл во второй строке? Если хэндл указан верно, должно работать, проверено.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 28 Dec 2010 00:06:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43109#p43109</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43106#p43106</link>
			<description><![CDATA[<p>ложная тревога.</p>]]></description>
			<author><![CDATA[null@example.com (mih)]]></author>
			<pubDate>Mon, 27 Dec 2010 19:19:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43106#p43106</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43101#p43101</link>
			<description><![CDATA[<p>Определение координат вертикальной и горизонтальной полос прокрутки, принадлежащей контролам (координаты относительно экрана):<br /></p><div class="codebox"><pre><code>F11:: 
   hControl =   ; указать hwnd контрола
   
   OBJID_VSCROLL = 0xFFFFFFFB
   OBJID_HSCROLL = 0xFFFFFFFA
   STATE_SYSTEM_INVISIBLE = 0x8000
   
   VarSetCapacity(SBI, 60)
   NumPut(60, SBI)

   Loop 2
   {
      if !DllCall(&quot;GetScrollBarInfo&quot;, UInt, hControl, UInt
         , A_Index = 1 ? OBJID_VSCROLL : OBJID_HSCROLL, UInt, &amp;SBI)
      {
         MsgBox, Невозможно получить данные!`nОшибка %A_LastError%
         Return
      }
      
      if (NumGet(SBI, 36) = STATE_SYSTEM_INVISIBLE)
         MsgBox, % (A_Index = 1 ? &quot;Вертик&quot; : &quot;Горизонт&quot;) 
            . &quot;альная полоса прокрутки невидима (не существует).&quot;
      Else
      {
         x1 := NumGet(SBI, 4), y1 := NumGet(SBI, 8)
         x2 := NumGet(SBI, 12), y2 := NumGet(SBI, 16)
         MsgBox, % &quot;Координаты верхней левой и нижней правой точки &quot;
            . (A_Index = 1 ? &quot;вертик&quot; : &quot;горизонт&quot;) 
            . &quot;альной полосы прокрутки:`n&quot;
            . &quot;x1 = &quot; x1 &quot;`n&quot;
            . &quot;y1 = &quot; y1 &quot;`n&quot;
            . &quot;x2 = &quot; x2 &quot;`n&quot;
            . &quot;y2 = &quot; y2
      }
   }
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 27 Dec 2010 14:53:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43101#p43101</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43072#p43072</link>
			<description><![CDATA[<p>Второй вариант не годится, т.к.<br />контрол у меня&nbsp; — типа &quot;список файлов&quot; (типа &quot;SysListView321&quot;),<br />и там&nbsp; курсор НЕ меняется (я привел выше неточный пример и исправил его).</p><p>А первый вариант — я надеялся его избежать, <br />т.к. он зависит от настроек системы (полосы могут быть разной ширины),<br />а также они могут быть, а могут и не быть — ситуация&nbsp; всё время меняется.</p><p>Если нет красивого способа, <br />то хоть бы найти способ определить их СУЩЕСТВОВАНИЕ,<br />хотя странно — мне кажется, должно что-то быть — сам контрол&nbsp; реагирует же<br />по-разному на клики в раб область, и на полосу — почему мы не можем различить их не косвенным образом, а прямо?</p>]]></description>
			<author><![CDATA[null@example.com (mih)]]></author>
			<pubDate>Sun, 26 Dec 2010 19:26:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43072#p43072</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43071#p43071</link>
			<description><![CDATA[<p>Зная размеры и координаты контрола, а также размеры полос прокрутки (если они вообще есть), можно вычислить.<br />Другой вариант: при наведении курсора на полосу прокрутки он превращается из Arrow в IBeam.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 26 Dec 2010 18:46:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43071#p43071</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Отличить "раб. область" контрола "ListView" от "полос прокрутки".]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43069#p43069</link>
			<description><![CDATA[<p>Есть:<br />окно с контролом, содержащим <br />список файлов и полосы прокрутки (верт. и гор.) — <br />которые могут присутствовать, а могут и не существовать.</p><p>Пример такого контрола — в Проводнике — ClassNN &quot;SysListView321&quot;.</p><p>Моя проблема в том, что полосы прокрутки принадлежат контролу и <br />отличить их от собственно рабочей зоны <br />я не могу — а мне надо.</p><p>Есть ли простой способ понять, что мышь находится <br />именно в рабочей области, а не над полосой прокрутки ?</p>]]></description>
			<author><![CDATA[null@example.com (mih)]]></author>
			<pubDate>Sun, 26 Dec 2010 18:12:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43069#p43069</guid>
		</item>
	</channel>
</rss>
