<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Как вы используете WM и для чего]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17163&amp;type=atom" />
	<updated>2022-06-07T23:34:43Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17163</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153488#p153488" />
			<content type="html"><![CDATA[<p>Или так:<br /></p><div class="codebox"><pre><code>WM_SETCURSOR(wParam)
{
	static init := OnMessage(0x20, &quot;WM_SETCURSOR&quot;)
	static IDC_APPSTARTING := 32650, IDC_ARROW := 32512, IDC_CROSS := 32515, IDC_HAND := 32649, IDC_HELP := 32651, IDC_IBEAM := 32513, IDC_ICON := 32641, IDC_NO := 32648, IDC_SIZE := 32640, IDC_SIZEALL := 32646, IDC_SIZENESW := 32643, IDC_SIZENS := 32645, IDC_SIZENWSE := 32642, IDC_SIZEWE := 32644, IDC_UPARROW := 32516, IDC_WAIT := 32514

	switch (wParam)
	{
		case hBtn1: Return setCursor(IDC_HAND)
		case hBtn2: Return setCursor(IDC_HELP)
		case hBtn3:
			tooltip message
			Return setCursor(IDC_HELP)
		default: toolTip
	}
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T23:34:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153488#p153488</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153485#p153485" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><div class="quotebox"><cite>Phoenixxx_Czar пишет:</cite><blockquote><p>Привел бы еще в пример WM_SETCURSOR</p></blockquote></div><p>Этак у вас получится, что курсор назначенный на кнопке остаётся и при выходе за неё. Чтобы было виднее, добавьте<br /></p><div class="codebox"><pre><code>Gui, Margin, 50, 50</code></pre></div></blockquote></div><p>Кхм.. Как это лучше пофиксить?</p><p>UPD: Добавил в default кейс следующую строку:<br /></p><div class="codebox"><pre><code>setCursor(IDC_ARROW)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2022-06-07T22:59:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153485#p153485</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153484#p153484" />
			<content type="html"><![CDATA[<p>Да, я им тоже иногда пользуюсь, получается быстрее, чем в интернет идти. Но там тоже много чего нет.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T21:02:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153484#p153484</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153483#p153483" />
			<content type="html"><![CDATA[<p>Еще больше сообщений можно найти в AutoGUI Tools Constantine. Они там по категориям рассортированы: Button, Edit, Hotkey и т.д. Но тоже не все.</p>]]></content>
			<author>
				<name><![CDATA[svoboden]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34280</uri>
			</author>
			<updated>2022-06-07T20:50:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153483#p153483</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153482#p153482" />
			<content type="html"><![CDATA[<p>Microsoft Spy++ 1194 в своих настройках показывает.<br />Правда без значений.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-06-07T20:43:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153482#p153482</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153481#p153481" />
			<content type="html"><![CDATA[<p>А, ну может быть там собраны сообщения только для окон верхнего уровня. Но тоже неполный, например WM_SYSTIMER отсутствует. Вот <a href="https://wiki.winehq.org/List_Of_Windows_Messages">тут</a> больше.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T20:30:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153481#p153481</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153480#p153480" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Только вот про &#039;EM_SETCUEBANNER := 0x1501&#039; ни строчки</p></blockquote></div><p>Так этот список далеко не полный.</p></blockquote></div><p>Так это же не оконное сообщение, поэтому и нету.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-06-07T20:21:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153480#p153480</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153479#p153479" />
			<content type="html"><![CDATA[<p>Практически все значения можно найти <a href="https://www.magnumdb.com/">здесь</a>.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T20:12:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153479#p153479</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153478#p153478" />
			<content type="html"><![CDATA[<p>В MSDN вроде как только названия без Hex значений, что не совсем удобно.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2022-06-07T20:10:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153478#p153478</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153477#p153477" />
			<content type="html"><![CDATA[<p>Предполагаю, что этот список был составлен очень давно, ещё во времена AHK-basic, и с тех пор не пополнялся. Да и смысла в нём действительно немного без описания, проще сразу в MSDN смотреть.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T20:09:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153477#p153477</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153476#p153476" />
			<content type="html"><![CDATA[<p>Меня больше удивляет почему на странице перечислены лишь некоторые варианты, хоть бы какие-то примеры показали, интересно же что ещё можно добавить по умолчанию в свою программу.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2022-06-07T20:04:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153476#p153476</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153475#p153475" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Только вот про &#039;EM_SETCUEBANNER := 0x1501&#039; ни строчки</p></blockquote></div><p>Так этот список далеко не полный.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T20:00:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153475#p153475</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153474#p153474" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Phoenixxx_Czar пишет:</cite><blockquote><p>Привел бы еще в пример WM_SETCURSOR</p></blockquote></div><p>Этак у вас получится, что курсор назначенный на кнопке остаётся и при выходе за неё. Чтобы было виднее, добавьте<br /></p><div class="codebox"><pre><code>Gui, Margin, 50, 50</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-06-07T19:59:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153474#p153474</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153473#p153473" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>У нас есть такой <a href="https://www.autohotkey.com/docs/misc/SendMessageList.htm">список</a></p></blockquote></div><p>Только вот про &#039;EM_SETCUEBANNER := 0x1501&#039; ни строчки. Хотя довольно интересная фича.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2022-06-07T19:57:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153473#p153473</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как вы используете WM и для чего]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=153472#p153472" />
			<content type="html"><![CDATA[<p>Привел бы еще в пример WM_SETCURSOR:</p><div class="codebox"><pre><code>global hBtn1, hBtn2, hBtn3

gui, add, button, w200 hwndhBtn1, Cursor hand
gui, add, button, w200 hwndhBtn2, Cursor help
gui, add, button, w200 hwndhBtn3, Cursor help and tooltip
gui, add, button, w200, Default button

gui, show
return


WM_SETCURSOR(wParam)
{
	static init := OnMessage(0x20, &quot;WM_SETCURSOR&quot;)
	static IDC_APPSTARTING := 32650, IDC_ARROW := 32512, IDC_CROSS := 32515, IDC_HAND := 32649, IDC_HELP := 32651, IDC_IBEAM := 32513, IDC_ICON := 32641, IDC_NO := 32648, IDC_SIZE := 32640, IDC_SIZEALL := 32646, IDC_SIZENESW := 32643, IDC_SIZENS := 32645, IDC_SIZENWSE := 32642, IDC_SIZEWE := 32644, IDC_UPARROW := 32516, IDC_WAIT := 32514

	switch (wParam)
	{
		case hBtn1:
		{
			setCursor(IDC_HAND)
		}
		case hBtn2:
		{
			setCursor(IDC_HELP)
		}
		case hBtn3:
		{
			tooltip, % &quot;message&quot;
			setCursor(IDC_HELP)
		}
		default:
		{
			setCursor(IDC_ARROW)
			toolTip
			return false
		}
	}

	return true
}

loadCursor(cursorId)
{
	static IMAGE_CURSOR := 2, flags := (LR_DEFAULTSIZE := 0x40) | (LR_SHARED := 0x8000)
	return DllCall(&quot;LoadImage&quot;, &quot;Ptr&quot;, 0, &quot;UInt&quot;, cursorId, &quot;UInt&quot;, IMAGE_CURSOR, &quot;Int&quot;, 0, &quot;Int&quot;, 0, &quot;UInt&quot;, flags, &quot;Ptr&quot;)
}

setCursor(cursorIDC)
{
	static cursorLoads := {}

	if (!cursorLoads[cursorIDC])
	{
		cursorLoads[cursorIDC] := loadCursor(cursorIDC)
	}

	return DllCall(&quot;SetCursor&quot;, &quot;Ptr&quot;, cursorLoads[cursorIDC])
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2022-06-07T18:14:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=153472#p153472</id>
		</entry>
</feed>
