<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Перетаскивание GUI за элемент "Button"]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7513&amp;type=atom" />
	<updated>2012-09-05T07:47:46Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=7513</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63525#p63525" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Mikki пишет:</cite><blockquote><p>Я к тому и веду - что горячую клавишу можно ж и изменить. Тут главное - алгоритм рабочий и крути-верти его под себя как хочешь. В этом и смысл <strong>Коллекции</strong> - выкладывать не готовые решения на каждый случай, а алгоритмы к действию. Так что, мой голос за &quot;в Коллекцию&quot;.</p></blockquote></div><p>Тут еще вот что, не знаю, правда, насколько это актуально для других. Сколько бы я не сталкивался с подобными коллекциями (названия, конечно, разные, но суть одна - собрание наиболее удачных результатов деятельности) в разных областях знаний, они, в подавляющем большинстве содержат решения для некоторого круга наиболее распространенных проблем. То есть если встала проблема, которая долго занимала многих людей - найдется много добротных разнообразных готовых решений, среди которых, покопавшись, можно выбрать наиболее подходящее. Но если вопрос непопулярен или, более того, экзотичен (у меня лично, как бы сказать, далеко не редкость <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />), то за поиском хоть малейшей зацепки можно провести много времени и остаться ни с чем. А почем знать, людей-то много, кто-то наверняка уже занимался тем же, да может подумал, что слишком уж невостребована тема, и не стал в коллекцию добавлять. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Korobkof]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28148</uri>
			</author>
			<updated>2012-09-05T07:47:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63525#p63525</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63524#p63524" />
			<content type="html"><![CDATA[<p>Я к тому и веду - что горячую клавишу можно ж и изменить. Тут главное - алгоритм рабочий и крути-верти его под себя как хочешь. В этом и смысл <strong>Коллекции</strong> - выкладывать не готовые решения на каждый случай, а алгоритмы к действию. Так что, мой голос за &quot;в Коллекцию&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Mikki]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5905</uri>
			</author>
			<updated>2012-09-05T07:23:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63524#p63524</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63510#p63510" />
			<content type="html"><![CDATA[<p>Ни к чему использовать именно LButton. Я, например, пользуюсь для этого </p><div class="codebox"><pre><code>#If GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
   RButton::
   ...</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-09-04T19:45:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63510#p63510</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63509#p63509" />
			<content type="html"><![CDATA[<p>Перетаскивание GUI работает, действительно. И идея хорошая, но все же перенесение этого принципа &quot;as is&quot; на все окна, хоть и не представляет сложностей, видится в таком виде малопригодным, потому что тогда пропадает возможность click-and-drag для ЛКМ (и даже попытка выделить несколько иконок на рабочем столе заканчивается совсем не так, как хотелось бы):<br /></p><div class="codebox"><pre><code>CoordMode, Mouse
SetWinDelay, -1
SetBatchLines, -1
~LButton::
    MouseGetPos, Start_X, Start_Y, Win
    WinGetPos, X_Win, Y_Win,,, ahk_id %Win%
    While GetKeyState(&quot;LButton&quot;) {
        MouseGetPos, Current_X, Current_Y
        WinMove, ahk_id %Win%,, X_Win + Current_X - Start_X, Y_Win + Current_Y - Start_Y
        Sleep, 10
    }
return
Escape:: ExitApp</code></pre></div><p>Можно, конечно, составить список окон-исключений, но как определить, например, что же хотел пользователь в окне браузера - передвинуть его или выделить текст? Без клавиш-модификаторов или смены хоткея не обойтись.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-09-04T18:50:41Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63509#p63509</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63508#p63508" />
			<content type="html"><![CDATA[<p><strong>Irbis</strong>, может ты не совсем понял, здесь как раз реализован алгоритм перетаскивания окна за любую его часть, <em>в том числе</em> и за Button, и за другие контролы с меткой перехода. Перетаскивается собственное окно, но тот же принцип можно использовать для перетаскивания любого.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-09-04T17:33:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63508#p63508</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63507#p63507" />
			<content type="html"><![CDATA[<p>Согласен с <strong>teadrinker</strong>, что практическая польза от данного топика вряд ли настолько значительна, что стОит увековечивания в Коллекции. (Надеюсь, это и подразумевалось под нетипичностью вопроса).<br />Да, таскать окно за верхний бордюр не всегда бывает удобно, но это является стандартом и делается на автомате и работает для всех типовых окон.<br />Будет ли удобней &quot;Перетаскивание GUI за элемент &quot;Button&quot; &quot;, и будет ли пользователь отходить от своих привычек ради одного-двух скриптов? Уверен, что нет.</p><p>Вот если составить скрипт, чтобы перетаскивать любое окно за любую его часть... Но этот велосипед уже изобретен, насколько я знаю. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-09-04T17:20:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63507#p63507</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63497#p63497" />
			<content type="html"><![CDATA[<p>Хорошо, вечером выложу.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-09-04T06:33:59Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63497#p63497</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63494#p63494" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Не знаю, вопрос какой-то не очень типичный. Первый раз сталкиваюсь с желанием перетаскивать окно за кнопку. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Ну, может ещё кто-нибудь выскажется, стоит ли занести в Коллекцию.</p></blockquote></div><p>Я тут без году неделю, но полагаю, что как раз решения для нетривиальных случаев должны находится в коллекции.<br />А желание как раз мне понятно, мое эстетическое чувство тоже было бы глубоко возмущено, ибо приняло бы либо возможность таскать только за строго и специально определенное для этого место или уж за какое угодно. Это как жить в комнате, на окно которой нельзя прилепить бумажку или порисовать пальцем на стекле, потому что окно не для того создано; особой необходимости как бы нет, может мне и не придет это в голову, а может придет, кто знает, но осознание того факта, что я, хозяин квартиры и, соответственно, окон, царь, как говорили некогда, природы, не могу сделать то, для чего нет естественных, понятных для меня ограничений, будет перманентно угнетать меня. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Korobkof]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28148</uri>
			</author>
			<updated>2012-09-04T05:26:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63494#p63494</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63487#p63487" />
			<content type="html"><![CDATA[<p>Не знаю, вопрос какой-то не очень типичный. Первый раз сталкиваюсь с желанием перетаскивать окно за кнопку. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Ну, может ещё кто-нибудь выскажется, стоит ли занести в Коллекцию.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-09-03T21:17:07Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63487#p63487</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63477#p63477" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, предлагаю занести ваш алгоритм в Коллекцию, ибо это готовый блок в программы.</p>]]></content>
			<author>
				<name><![CDATA[Mikki]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5905</uri>
			</author>
			<updated>2012-09-03T16:07:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63477#p63477</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63374#p63374" />
			<content type="html"><![CDATA[<p>Да, в моём варианте <em>static</em> в функции не нужен. Отредактировал.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-08-31T12:08:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63374#p63374</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63371#p63371" />
			<content type="html"><![CDATA[<p><strong>teadrinker, Александр_</strong>, огромное спасибо за ваш интерес к моей проблеме. Вариант с использованием OnMessage действительно более громоздок, т.к. требует описания каждого элемента на который назначено действие.</p><p>Воспользовался вариантом <strong>teadrinker</strong>-а. Тихо млею ))</p>]]></content>
			<author>
				<name><![CDATA[Mikki]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5905</uri>
			</author>
			<updated>2012-08-31T09:30:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63371#p63371</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63370#p63370" />
			<content type="html"><![CDATA[<p>Ну, мой-то код работает, вроде бы? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-08-31T07:02:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63370#p63370</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63360#p63360" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Контролу &quot;Text&quot; можно присвоить метку перехода <em>gLabel</em>, как в моём варианте. Тогда можно задать подпрограмму <em>Label</em>, которая будет выполняться при щелчке по нему. Но, в отличие от подпрограммы кнопки, при нажатии, а не при отпускании LButton.</p></blockquote></div><p>Это хреново, тогда придётся или для каждого класса отдельный код писать или вообще обрубить нажатие для для всего окна и отправлять его с задержкой. И ещё я там идентификатор контрола зашил в оконной функции, это тоже определённо &quot;не айс&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-08-31T00:01:45Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63360#p63360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Перетаскивание GUI за элемент "Button"]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=63359#p63359" />
			<content type="html"><![CDATA[<p>Контролу &quot;Text&quot; можно присвоить метку перехода <em>gLabel</em>, как в моём варианте. Тогда можно задать подпрограмму <em>Label</em>, которая будет выполняться при щелчке по нему. Но, в отличие от подпрограммы кнопки, при нажатии, а не при отпускании LButton.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-08-30T23:48:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=63359#p63359</id>
		</entry>
</feed>
