<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=6949</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=6949&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Вызов контролов хоткеем с установкой метки на контроле».]]></description>
		<lastBuildDate>Thu, 22 Mar 2012 08:38:53 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=58208#p58208</link>
			<description><![CDATA[<div class="quotebox"><cite>Raam пишет:</cite><blockquote><p>...потом удивиться что он исчез <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p></blockquote></div><p>Да, совершенно неожиданно нашёл ошибку, <em>забрал</em> код на доработку, впредь буду оставлять комментарий своих действий. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Thu, 22 Mar 2012 08:38:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=58208#p58208</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=58192#p58192</link>
			<description><![CDATA[<p>creature.ws и Grey.<br />Большое спасибо за скрипты и подсказки. Код востребован и будет использоваться.<br />Grey, я успел скопировать даже предыдущий Ваш скрипт и потом удивиться что он исчез <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />. Но поскольку было мало времени для тестов и анализа я не отозвался сразу.<br />Идея развилась еще более глобально, а всей той базы что вы мне дали, на данный момент достаточно. Когда появятся неразрешимые самостоятельно вопросы, я задам их.</p><p>/*<br />Вообще, я не программист, а музыкант. Поэтому, прежде чем задать очередной вопрос, для анализа и реализации новых функций приходится выкуривать АХК.Хелп вдоль и поперек (не вешать же все на ваши плечи <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> ). А раньше, в игроманские загулы написал на АХК десятки мелких скриптов и ботов для своих персонажей в играх. Потом я делал скрипты для работы с таблицами и 1С, на работе. Во многом тогда помог Teadrinker.&nbsp; Вот, теперь я вернулся к АХК, для решения насущных задач музыкантов.<br />*/</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Thu, 22 Mar 2012 01:05:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=58192#p58192</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=58184#p58184</link>
			<description><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Впечатляет.</p></blockquote></div><p>Спасибо, было бы это всё востребовано.</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Wed, 21 Mar 2012 18:14:34 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=58184#p58184</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=58181#p58181</link>
			<description><![CDATA[<p>Финальная версия, ура <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Впечатляет.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Wed, 21 Mar 2012 17:25:17 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=58181#p58181</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=58179#p58179</link>
			<description><![CDATA[<div class="quotebox"><cite>Raam пишет:</cite><blockquote><p>Эта тема началась из <a href="http://forum.script-coding.com/viewtopic.php?pid=57830#p57830">другой</a>, но чтоб не оффтопить решил создать отдельную, хоть и связанную.</p></blockquote></div><p>Раз создали, значит надо решать.</p><div class="quotebox"><cite>Raam пишет:</cite><blockquote><p>Хочется добавить сюда элементы GUI...</p></blockquote></div><p>Основной элемент есть в моём коде, если захотите добавить, ещё и не получится, обсудим тут (извините, не стал <em>заморачиваться</em> более чем с одним (не считая уведомлений)).</p><p>Функционал:<br />Win+LMB - первое нажатие, поиск контрола (с активацией подсветки периметра контрола под курсором), после выбора <em>контрола-жертвы</em>, повторное нажатие на ту же связку клавиш (Win+LMB), для присвоения горячей клавиши/клавиш выбранному контролу в поле ввода. Дальнейшие добавления <em>хоткеев</em> по той же схеме. В случае когда надо удалить/переназначить/отменить есть стандартное уведомление с вариантами (удалить все назначенные <em>хоткеи</em> можно отметив <em>чек-бокс</em> в самом окне).</p><div class="codebox"><pre><code>CoordMode, Mouse
Menu, Tray, NoStandard
Menu, Tray, Add, Exit, ExitScript

HKeys:=[], IsKey:=False
bmd1=
(Join
0000ffff000000000000ffff000000000000
ffff000000000000ffff000000000000ffff
)
bmd2=
(Join
00ffffff0000000000ffffff0000000000ff
ffff0000000000ffffff0000000000ffffff
)
hpatbr1:=CreatePBrush(bmd1), hpatbr2:=CreatePBrush(bmd2)

#LButton::
   If WinExist(&quot;ahk_id&quot;GUIhWnd) Or WinExist(&quot;ahk_id&quot;hMsg)
      Return
   If !IsSeek
      For Key, Value In HKeys
         Hotkey, % Value.key1, HKeyLabel, Off
   If IsSeek
      SetTimer, Settings, -75
   SetTimer, ChaseCursor, % (IsSeek:=!IsSeek) ? 125:&quot;Off&quot;
   Return

ChaseCursor:
   MouseGetPos,,,, nCtrl, 1
   MouseGetPos,,,, hCtrl, 2
   WinGetPos, X, Y, W, H, % &quot;ahk_id&quot;hCtrl
   CreateRgn(X, Y, W, H, hpatbr1, 6)
   If hCtrlPassed&lt;&gt;hCtrl
      Gosub, Redraw
   hCtrlPassed:=hCtrl
   Return

Settings:
   Gui, +AlwaysOnTop -Caption +Border +ToolWindow HwndGUIhWnd
   Gui, Add, Hotkey, vHKey x4 y4 w118 h20
   Gui, Add, Button, x76 y27 w45 h20, Set
   If % Counter&gt;=1
   {
      Gui, Add, Checkbox, x6 y27 w70 h20 vIsChecked, Delete all
      Gui, Add, ListView, x4 y57 w118 h100
         , % &quot; hotkey&quot;(Counter&gt;1 ? &quot;s&quot;:&quot;&quot;)
         . &quot; (&quot;Counter &quot;) |  hCtrl  |  nCtrl  &quot;
      For Key, Value In HKeys
      {
         SetFormat, Integer, H
         Value_value1:=Value.value1
         SetFormat, Integer, D
         LV_Add(&quot;&quot;, Value.key1, Value_value1, Value.value2)
      }
      Gui, Show, w127 h164
   }
   Else Gui, Show, w127 h53
   CreateRgn(X, Y, W, H, hpatbr1)
   CoordMode, Mouse, Relative
   ControlGetPos, CX, CY, CW, CH, Button1, % &quot;ahk_id&quot;GUIhWnd
   MouseMove, CX+CW//2, CY+CH//2, 0
   CoordMode, Mouse
   Return

ButtonSet:
   Gui, Submit
   Gui, Destroy
   SetTimer, Redraw, -0
   If !HKey Or IsChecked
   {
      SetTimer, % &quot;EditMsg&quot;(IsChecked ? &quot;&quot;:&quot;2&quot;), -50
      MsgBox, % 2622 . (IsChecked ? 08:12)
            ,, % IsChecked ? &quot;Deleted&quot;:&quot;Hotkey is not set&quot;
            . &quot;, try again?&quot;, % IsChecked ? 1:0
      IfMsgBox, Yes
         Goto, Settings
      Else Goto, Continue
   }
   For Key, Value In HKeys
      If IsDuplicate:=(Value.key1=HKey And Value.value1=hCtrl)
      {
         SetTimer, EditMsg, -50
         MsgBox, 262160,, % &quot;Duplicate`n(&quot;HKey &quot;)&quot;, 1
         Goto, Continue
      }
   For Key, Value In HKeys
      If % Value.key1=HKey Or Value.value1=hCtrl
      {
         IsKey:=(Value.key1=HKey) ? True:False
         SetTimer, % &quot;EditMsg&quot;(IsKey ? &quot;&quot;:&quot;2&quot;), -50
         MsgBox, % 26221 . (IsKey ? 1:2)
               ,, % &quot;This &quot;(IsKey ? &quot;hotkey (&quot;HKey &quot;)&quot;:&quot;control&quot;)
               . &quot; already used&quot;(IsKey ? &quot;, choose resolve below&quot;:&quot;&quot;)
               . &quot;`n&quot;(IsKey ? &quot;&quot;:&quot;set this hotkey (&quot;HKey &quot;) too?&quot;)
         IfMsgBox, No
            Goto, Continue
         IfMsgBox, Yes
         {
            For Key, Value In HKeys
               If % Value.key1=HKey
                  HKeys.Remove(Key)
            Break
         }
         IfMsgBox, Cancel
         {
            For Key, Value In HKeys
               If % Value.key1=HKey
                  HKeys.Remove(Key)
            Goto, Continue
         }
      }
   HKeys.Insert( New Data(HKey, hCtrl, nCtrl))
Continue:
   For Key, Value In HKeys
   {
      Counter:=A_Index
      Hotkey, % Value.key1, HKeyLabel, On
   }
   Return

HKeyLabel:
   SetTimer, Redraw, -250
   For Key, Value In HKeys
      If Value.key1=A_ThisHotkey
      {
         WinGetPos, X, Y, W, H, % &quot;ahk_id&quot;Value.value1
         Break
      }
   MouseClick,, X+W//2, Y+H//2,, 0
   CreateRgn(X, Y, W, H, hpatbr2)
   KeyWait, % A_ThisHotkey
   Return

EditMsg:
   If IsChecked Or IsDuplicate
   {
      Control, Hide,, Button1, A
      If IsChecked
         HKeys:=[], Counter:=IsChecked:=False
      IsDuplicate:=False
      WinMove, A,, A_ScreenWidth//2-(150//2)
                 , A_ScreenHeight//2-(90//2), 150, 90
   }
   Else
   {
      ControlSetText, Button1, Reassign, A
      ControlSetText, Button2, Cancel, A
      ControlSetText, Button3, Delete, A
   }
EditMsg2:
   WinSet, Style, -0xC00000, % &quot;ahk_id&quot;hMsg:=WinActive(&quot;A&quot;)
   Return

Redraw:
   DllCall(&quot;RedrawWindow&quot;, &quot;UInt&quot;, 0
                         , &quot;UInt&quot;, 0
                         , &quot;UInt&quot;, hRgn
                         , &quot;UInt&quot;, 0x787)
   DllCall(&quot;DeleteObject&quot;, &quot;UInt&quot;, hRgn)
   Return

ExitScript:
   DllCall(&quot;DeleteObject&quot;, &quot;UInt&quot;, hpatbr1)
   DllCall(&quot;DeleteObject&quot;, &quot;UInt&quot;, hpatbr2)
   ExitApp

CreatePBrush(bmd)
{
   VarSetCapacity(Buffer, nSize:=StrLen(bmd)//2, 0)
   Loop, % nSize
      NumPut(&quot;0x&quot;SubStr(bmd, 2*A_Index-1, 2)
                           , Buffer, A_Index-1, &quot;UChar&quot;)
   hBm:=DllCall(&quot;CreateBitmap&quot;, &quot;UInt&quot;, 3
                              , &quot;UInt&quot;, 3
                              , &quot;UInt&quot;, 1
                              , &quot;UInt&quot;, 32
                              , &quot;UInt&quot;, &amp;Buffer)
   Return, DllCall(&quot;CreatePatternBrush&quot;, &quot;UInt&quot;, hBm)
   DllCall(&quot;DeleteObject&quot;, &quot;UInt&quot;, hBm)
}

CreateRgn(xpos, ypos, width, height, pbrush, mixmode=13)
{
   global hRgn
   hDC:=DllCall(&quot;GetDC&quot;, &quot;UInt&quot;, 0)
   DllCall(&quot;SetROP2&quot;, &quot;UInt&quot;, hDC, &quot;Int&quot;, mixmode)
   hRgn:=DllCall(&quot;CreateRectRgn&quot;, &quot;Int&quot;, xpos
                                , &quot;Int&quot;, ypos
                                , &quot;Int&quot;, xpos+width
                                , &quot;Int&quot;, ypos+height)
   DllCall(&quot;FrameRgn&quot;, &quot;UInt&quot;, hDC
                     , &quot;UInt&quot;, hRgn
                     , &quot;UInt&quot;, pbrush
                     , &quot;UInt&quot;, 6
                     , &quot;UInt&quot;, 6)
   DllCall(&quot;ReleaseDC&quot;, &quot;UInt&quot;, 0
                      , &quot;UInt&quot;, hDC)
}

Class Data
{
   __New(key1, value1, value2)
   {
      This.key1:=key1, This.value1:=value1, This.value2:=value2
   }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Wed, 21 Mar 2012 17:18:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=58179#p58179</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57982#p57982</link>
			<description><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Если предположить, что в «столбике инструмента» не «неопределяемые контролы», а «картинка обрабатывающая координаты кликов»</p></blockquote></div><p><img src="//forum.script-coding.com/img/smilies/hmm.png" width="15" height="15" /> Туплю. Вероятно это именно так и я это учту.</p><div class="quotebox"><blockquote><p>OFF: Разве предназначение комментариев не передача информации, а доставление радости? Я вот пытаюсь передать, что название темы не освещает вопрос, обсуждение либо решение которого является приоритетным.</p></blockquote></div><p>OFF: Для меня общение это синтез информации и эмоций.&nbsp; Если бы вы мне грубили или игнорировали, общение было бы коротким. Если для Вас это не так, то наверно у нас в мозгу разные скрипты <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.&nbsp; Предложите пожалуйста название, я уже трижды менял, и все не в тему?</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Sat, 17 Mar 2012 14:00:37 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57982#p57982</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57980#p57980</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>много кнопочек, а MouseGetPos определяет только столбик инструмента целиком независимо от точки клика</p></blockquote></div><p>Если предположить, что в «столбике инструмента» не «неопределяемые контролы», а «картинка обрабатывающая координаты кликов»,<br />то привязывать к горячим клавишам придётся координаты клика. Точности определения координат клика посредством <strong>MouseGetPos</strong> достаточно.</p><p>OFF: Разве предназначение комментариев не передача информации, а доставление радости? Я вот пытаюсь передать, что название темы не освещает вопрос, обсуждение либо решение которого является приоритетным.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Sat, 17 Mar 2012 13:24:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57980#p57980</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57979#p57979</link>
			<description><![CDATA[<p>Снова дополнил первый пост.<br /></p><div class="quotebox"><blockquote><p>Более точные чем… ? Каких других программ? К какой функции посредством DllCall вы собираетесь обратится?</p></blockquote></div><p>На картинке в исправленном первом посте, видно еще много кнопочек, а MouseGetPos определяет только столбик инструмента целиком независимо от точки клика. &quot;Каких других программ?&quot; Ну вы говорили про игры и браузеры. DllCall - для меня темный лес, не туда приплел видимо. Вот я и спрашиваю возможно ли средствами AHK найти id всех этих мини кнопочек и иконок с картинки, или кнопок в играх.</p><p>Спасибо за строку&nbsp; TrayTip, % &quot;Win + Numpad&quot; hWnds.MaxIndex(), Assigned, 11, 1<br /></p><div class="quotebox"><blockquote><p>Не удивляйтесь отсутствию комментариев.</p></blockquote></div><p>Я не удивляюсь, я рад вашим комментариям, не требуя обязательного участия от всех. Хотя было бы приятно видеть участие других.</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Sat, 17 Mar 2012 12:50:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57979#p57979</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57976#p57976</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>То есть если мне нужны более точные координаты дочерних контролов, и контроллов других программ, то это вне компетенции AHK? Или нужно будет обращаться к DllCall?</p></blockquote></div><p>Более точные чем… ? Каких других программ? К какой функции посредством DllCall вы собираетесь обратится?<br /></p><div class="quotebox"><blockquote><p>Поскольку я так и не смог понять как извлечь переменную для TrayTip из вашего скрипта, я по прежнему пользуюсь своей старой структурой скрипта, видоизменив в деталях.</p></blockquote></div><p>Какая переменная требуется для TrayTip?<br /><strong>hWnds.Insert(hWndSub)</strong> записывает в массив hWnd дочернего окна при каждом клике. Записывает в «следущую ячейку массива». Если при каждом клике вы ожидаете видеть TrayTip с ассоциированной в массиве позицией — добавьте в подпрограмму <strong>#LButton::</strong><br /><strong> TrayTip, % &quot;Win + Numpad&quot; hWnds.MaxIndex(), Assigned, 11, 1</strong><br /></p><div class="quotebox"><blockquote><p><strong>Приделывание GUI меток все еще актуально.</strong></p></blockquote></div><p>Догадаться, что речь про обрамление дочерних окон и добавление некого текстового комментария рядом с&nbsp; «контролом» поверх родительского окна, можно лишь прочитав тему по <a href="http://forum.script-coding.com/viewtopic.php?pid=57830#p57830">ссылке</a>. Не удивляйтесь отсутствию комментариев.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Sat, 17 Mar 2012 12:13:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57976#p57976</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57974#p57974</link>
			<description><![CDATA[<p>Еще раз спасибо за ваши версии скриптов. Я их проанализировал с Хелпом и теперь я использую не на ClassNN, а HWND. Это исключает ошибочное срабатывание, когда открыты опциональные окна в программе. Теперь все работает точнее.<br /></p><div class="quotebox"><blockquote><p>«контролы» должны определятся стандартными средствами AHK (Для кликов по элементам интерфейса многих браузеров и всех игр не подойдёт)</p></blockquote></div><p>То есть если мне нужны более точные координаты дочерних контролов, и контроллов других программ, то это вне компетенции AHK? Или нужно будет обращаться к DllCall?<br /><strong>Приделывание GUI меток все еще актуально.</strong><br /> Поскольку я так и не смог понять как извлечь переменную для TrayTip из вашего скрипта, я по прежнему пользуюсь своей старой структурой скрипта, видоизменив в деталях.</p><p>Ниже мой текущий скрипт целиком:</p><div class="codebox"><pre><code>SetControlDelay -1

#Numpad1::ControlClick , , ahk_id %track1%
#Numpad2::ControlClick , , ahk_id %track2%
#Numpad3::ControlClick , , ahk_id %track3%
#Numpad4::ControlClick , , ahk_id %track4%
#Numpad5::ControlClick , , ahk_id %track5%
#Numpad6::ControlClick , , ahk_id %track6%
#Numpad7::ControlClick , , ahk_id %track7%
#Numpad8::ControlClick , , ahk_id %track8%
#Numpad9::ControlClick , , ahk_id %track9%
#Numpad0::ControlClick , , ahk_id %track0%





#LButton::
MouseGetPos ,,,Id , TrackId, 3

If bind =
{
    Bind =1
    track1 = %TrackId% 
    Shortcut = Numpad1
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 1
{
    Bind =2
    track2 = %TrackId%
    Shortcut = Numpad2
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 2
{
    Bind = 3
    track3 = %TrackId%
    Shortcut = Numpad3
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 3
{
    Bind = 4
    track4 = %TrackId%
    Shortcut = Numpad4
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 4
{
    Bind = 5
    track5 = %TrackId%
    Shortcut = Numpad5
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 5
{
    Bind = 6
    track6 = %TrackId%
    Shortcut = Numpad6
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 6
{
    Bind = 7
    track7 = %TrackId%
    Shortcut = Numpad7
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 7
{
    Bind = 8
    track8 = %TrackId%
    Shortcut = Numpad8
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 8
{
    Bind = 9
    track9 = %TrackId%
    Shortcut = Numpad9
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 9
{
    Bind = 0
    track0 = %TrackId%
    Shortcut = Numpad0
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
    Return
}
If bind = 0
    TrayTip,   Win + %Shortcut%, Assigned , 11, 1
return


#RButton::
bind =
track1 =
track2 =
track3 =
track4 =
track5 =
track6 =
track7 =
track8 =
track9 =
track0 =
Shortcut =
TrayTip, Cancel , All Shortcuts Remuved , 11, 1
 Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Sat, 17 Mar 2012 11:20:01 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57974#p57974</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57971#p57971</link>
			<description><![CDATA[<p>Снова пардон <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />&nbsp; Виноват, исправился. <br />Изменил формулировку в названии и уточнил текст первого поста.<br />Приведенные Вами компактные коды имеют практическую и образовательную пользу для меня, так что ваш труд не напрасен. И я буду рад продолжению и развитию темы.</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Fri, 16 Mar 2012 23:33:42 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57971#p57971</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57967#p57967</link>
			<description><![CDATA[<p>А заголовок темы и пример кода создают впечатление, что речь о компактном коде привязывающем клик по кнопке к горячей клавише <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Отредактировали бы заголовок тогда, до конкретной формулировки без жаргонизмов.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Fri, 16 Mar 2012 21:23:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57967#p57967</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57966#p57966</link>
			<description><![CDATA[<p>Спасибо за примеры. Так действительно намного компактнее.<br />Первый скрипт удобен, независимой очередностью биндов. Его недостаток - использование чистых клавиш нампада в процессе назначения, а эти клавиши уже имеют свои функции в программе и активируют свои функции.<br />Второй - работает как мой, но выглядит компактно. Теперь курю Help, чтоб понять куда там вставить TrayTip, чтоб наглядно видеть какую клавишу назначаю или отменяю.<br />Впрочем это не главная задача.&nbsp; Первостепенно для меня прицепить к контролу&nbsp; Идентификатор ( GUI метку с названием назначенного хоткея )</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Fri, 16 Mar 2012 21:15:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57966#p57966</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57937#p57937</link>
			<description><![CDATA[<div class="codebox"><pre><code>hWnds := []

#Numpad1::
#Numpad2::
#Numpad3::
#Numpad4::
#Numpad5::
#Numpad6::
#Numpad7::
#Numpad8::
#Numpad9::
    ControlClick,, % &quot;ahk_id&quot; hWnds[SubStr(A_ThisHotkey, 8)]
    Return
Numpad1 &amp; LButton::
Numpad2 &amp; LButton::
Numpad3 &amp; LButton::
Numpad4 &amp; LButton::
Numpad5 &amp; LButton::
Numpad6 &amp; LButton::
Numpad7 &amp; LButton::
Numpad8 &amp; LButton::
Numpad9 &amp; LButton::
    MouseGetPos,,,, hWndSub, 2
    hWnds[SubStr(A_ThisHotkey, 7, 1)] := hWndSub
    Return</code></pre></div><p>При включенном NumLock, при зажатой клавише NumPad&#039;а, клик левой кнопки мыши по контролу ассоциирует контрол с зажатой клавишей.<br />Нажатие Win + NumPad(x) производит клик по ассоциированному контролу.</p><p>// NumLock должен быть включен, «контролы» должны определятся стандартными средствами AHK (Для кликов по элементам интерфейса многих браузеров и всех игр не подойдёт)</p><div class="codebox"><pre><code>
hWnds := []
Loop 9
    Hotkey, #Numpad%A_Index%, cClick

Return

cClick:
    ControlClick,, % &quot;ahk_id&quot; hWnds[SubStr(A_ThisHotkey, 8)]
    Return
#RButton::hWnds.Remove(hWnds.MinIndex(), hWnds.MaxIndex())
#!RButton::hWnds.Remove() ; удаляет последний «бинд»
#LButton::
    MouseGetPos,,,, hWndSub, 2
    hWnds.Insert(hWndSub)
    Return</code></pre></div><p>Так — компактнее, но менее «дружелюбно к пользователю».</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Fri, 16 Mar 2012 14:42:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57937#p57937</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Вызов контролов хоткеем с установкой метки на контроле]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=57924#p57924</link>
			<description><![CDATA[<p>Пардон, забыл, исправил.</p>]]></description>
			<author><![CDATA[null@example.com (Raam)]]></author>
			<pubDate>Fri, 16 Mar 2012 12:56:14 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=57924#p57924</guid>
		</item>
	</channel>
</rss>
