<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Checkbox и suspend]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8219&amp;type=atom" />
	<updated>2013-04-07T19:29:03Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8219</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71179#p71179" />
			<content type="html"><![CDATA[<p>Спасибо еще раз)</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-07T19:29:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71179#p71179</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71178#p71178" />
			<content type="html"><![CDATA[<p>Вот подпрограмма в немного упрощённом виде</p><div class="codebox"><pre><code>

CheckBox:
    Gui, Submit, NoHide
    Key := Hotkey[A_GuiControl]
    Label := A_GuiControl
    If %A_GuiControl% = 1
        Options = On
    Else
        Options = Off
    Hotkey, %Key%, %Label%, %Options%
    return

</code></pre></div><p>Все эти переменные, массивы и выражения нужны для удобства последующего добавления кнопок. Для удобства понимания, тоже самое:<br /></p><div class="codebox"><pre><code>
#UseHook  
Gui, Add, CheckBox, gCheckBoxAutoZoom vAutoZoom , Auto zoom  
Gui, Add, CheckBox, gCheckBoxF1 vF1 , F1 
Gui, Show,, CheckBox
Return

CheckBoxAutoZoom:
    Gui, Submit, NoHide 
    If AutoZoom = 1
        Hotkey, vk58, AutoZoom, On
    Else
        Hotkey, vk58, AutoZoom, Off
    return
    
CheckBoxF1:
    Gui, Submit, NoHide 
    If F1 = 1
        Hotkey, F1, F1, On
    Else
        Hotkey, F1, F1, Off
    return

AutoZoom:
    ToolTip %A_ThisLabel% работает
    Sleep 50
    ToolTip
    return  
    
F1:
    ToolTip %A_ThisLabel% работает
    Sleep 50
    ToolTip
    return 
    
GuiClose:
    ExitApp

</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-07T19:28:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71178#p71178</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71175#p71175" />
			<content type="html"><![CDATA[<p>На примере при нажатии на CheckBox &quot;Auto zoom&quot;</p><p>GuiControlGet, %A_GuiControl% использую вместо Gui, Submit, NoHide для повышения производительности, так как сохранение всех переменных ненужно.<br />На месте &quot;%A_GuiControl%&quot; будет &quot;AutoZoom&quot; - имя переменной контрола вызвавшей процедуру.<br />Главная строка:</p><div class="quotebox"><cite>справка пишет:</cite><blockquote><p>Hotkey</p><p> Создание, изменение, включение или отключение горячих клавиш в запущенном скрипте.<br />Hotkey, KeyName , Label, Options</p></blockquote></div><div class="codebox"><pre><code>Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;</code></pre></div><p>то есть:<br />KeyName = % Hotkey[A_GuiControl]<br />Label = %A_GuiControl%<br />Options = % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;</p><p>KeyName - сама горячая кнопка<br />Получаем и используем как результат в выражении <span class="bbu">% Hotkey[A_GuiControl] </span>значение ключа из %A_GuiControl% то есть &quot;AutoZoom&quot; из асс.массива &quot;Hotkey&quot; <em>Hotkey := {&quot;AutoZoom&quot;:&quot;vk58&quot;,&quot;F1&quot;:&quot;F1&quot;} </em> то есть &quot;vk58&quot;</p><p>Label - метка к которой будет переход, если этот Hotkey включен.<br />То есть на месте <span class="bbu">%A_GuiControl%</span> будет &quot;AutoZoom&quot;.</p><p>Options - нам надо включить (создать) &quot;On&quot;, или выключить &quot;Off&quot; Hotkey<br /><span class="bbu">% %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;</span> на месте %A_GuiControl% будет статус чекбокса, если он = 1, то включаем Hotkey, если нет то &quot;Off&quot;. То есть используем результат тернарного выражения.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-07T19:10:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71175#p71175</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71169#p71169" />
			<content type="html"><![CDATA[<p>Спасибо, все отлично работает, но не могли бы вы мне пожалуйста объяснить кое-что из скрипта, а именно: <br /></p><div class="codebox"><pre><code>CheckBox:
    GuiControlGet, %A_GuiControl%   
    Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;
    return
</code></pre></div><p>Насколько я понял это как раз включает и отрубает, когда стоит галочка. Можете пожалуйста каждый элемент(надпись, слово) объяснить?</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-07T18:45:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71169#p71169</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71163#p71163" />
			<content type="html"><![CDATA[<p>Забыл, подпрограмму AutoZoom замените на:<br /></p><div class="codebox"><pre><code>

AutoZoom:
    Loop
    {
        if not GetKeyState(&quot;vk58&quot;, &quot;P&quot;)
            break
        send {wheelup down}
        sleep, 5
        send {wheelup up}
        sleep 5
    }
    return

</code></pre></div><p>Ну и F1 в качестве примера простоты добавления новых гор. клавиш.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-07T17:23:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71163#p71163</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71161#p71161" />
			<content type="html"><![CDATA[<p>Вам <a href="http://www.script-coding.com/AutoHotkey/Hotkey.html">Hotkey</a> нужен.</p><div class="quotebox"><blockquote><p>Скрипт будет дополняться подобными скриптами</p></blockquote></div><p>Если под &quot;скриптами&quot; вы имеете ввиду ещё гор. клавиши, то наверное так будет проще:</p><div class="codebox"><pre><code>

#UseHook
Hotkey := {&quot;AutoZoom&quot;:&quot;vk58&quot;,&quot;F1&quot;:&quot;F1&quot;} 
    
Gui, Add, CheckBox, gCheckBox vAutoZoom , Auto zoom 
Gui, Add, CheckBox, gCheckBox vF1 , F1
Gui, Show,, CheckBox
Return

CheckBox:
    GuiControlGet, %A_GuiControl%   
    Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;
    return

AutoZoom:
    ToolTip %A_ThisLabel% работает
    Sleep 50
    ToolTip
    return 
    
F1:
    ToolTip %A_ThisLabel% работает
    Sleep 50
    ToolTip
    return
    
GuiClose:
    ExitApp

</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-07T17:16:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71161#p71161</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Checkbox и suspend]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71157#p71157" />
			<content type="html"><![CDATA[<p>Здравствуйте. Помогите пожалуйста.</p><p>Написал скрипт, что бы при зажатой клавише быстрее <span style="color: green">работало приближение</span>. Все работает отлично.<br /></p><div class="codebox"><pre><code>$vk58::  ; кнопка X
Loop
{
    if not GetKeyState(&quot;vk58&quot;, &quot;P&quot;)
        break
send {wheelup down}
sleep, 5
send {wheelup up}
sleep 5
}
return
</code></pre></div><p>Хотел бы вставить этот скрипт в GUI в Checkbox. Когда галочка стоит, то при зажатой X скрипт приближает, если галочка снята, то при зажатой X ничего не происходит и она работает как обычная клавиша.</p><p>Вот сам скрипт, который написал:<br /></p><div class="codebox"><pre><code>Gui, Add, CheckBox, x6 y127 w120 h30 gRunautozoom vautozoom, Auto zoom

Gui, Show, x242 y179 h379 w479, New GUI Window
Return

GuiClose:
ExitApp

Runautozoom:
Gui, Submit, NoHide
   if autozoom = 1
   {
      $vk58::  
      Loop
      {
         if not GetKeyState(&quot;vk58&quot;, &quot;P&quot;)
            break
      send {wheelup down}
      sleep, 5
      send {wheelup up}
      sleep 5
      }
      return
    }
   If autozoom = 0
тут как-то отключить
return</code></pre></div><p>Скрипт будет дополняться подобными скриптами поэтому просто использовать Suspend не удобно иначе он отключит ВСЕ горячие клавиши, которые нужны в данный момент.<br />В справке прочитал: &quot;Suspend [, Mode] On: Отключает все горячие клавиши кроме тех, о которых рассказано в примечаниях.&quot; Думал сделать таким образом, погуглил, но не нашел ничего про suspend и его примечаниях.</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-07T15:51:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71157#p71157</id>
		</entry>
</feed>
