<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Изменение свойств отображения элементов GUI]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11137&amp;type=atom" />
	<updated>2016-05-18T17:47:30Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11137</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103945#p103945" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>То есть происходят мелькания? Хуже работает?</p></blockquote></div><p>&nbsp; Нет, мельканий нет. Я про самоокрашивание. Если курсор над вторым Edit, его фон меняется на зелёный, а если кликнуть в нём, фон верхнего становится чёрным.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2016-05-18T17:47:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103945#p103945</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103936#p103936" />
			<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>2016-05-18T16:01:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103936#p103936</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103935#p103935" />
			<content type="html"><![CDATA[<p>Это понятно, а без сообщения WM_SETCURSOR, указав в структуре WNDCLASSEX для этих контролов курсоры по умолчанию.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T15:36:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103935#p103935</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103934#p103934" />
			<content type="html"><![CDATA[<p>Ну наверно. Нужно пробовать работать с сообщением WM_SETCURSOR так же, как там с WM_CTLCOLORSTATIC.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-05-18T15:33:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103934#p103934</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103933#p103933" />
			<content type="html"><![CDATA[<p>Нет... Например в 45 посте для 4 контролов установить 4 разных курсора.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T15:29:44Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103933#p103933</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103931#p103931" />
			<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>2016-05-18T15:27:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103931#p103931</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103930#p103930" />
			<content type="html"><![CDATA[<p>В последнем не мелькает. <br />А вообще реально по твоему с помощью SetClassLong задать разные свойства одному классу контролов?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T15:17:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103930#p103930</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103929#p103929" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Ты имеешь ввиду сообщения?</p></blockquote></div><p>Я имею в виду сабклассинг, как в моём последнем примере. Там разве что-то мелькает?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-05-18T15:06:41Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103929#p103929</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103928#p103928" />
			<content type="html"><![CDATA[<p>Ты имеешь ввиду сообщения? <br />Например в 45 посте курсор устанавливается &quot;жестко&quot;, в отличие от &quot;распространённого метода&quot; отлова WM_SETCURSOR и применения SetCursor, бывает что мелькает курсор по умолчанию.<br />Также мелькает дефолтный фон и с WM_CTLCOLORSTATIC.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T15:02:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103928#p103928</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103927#p103927" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>И возможно ли указать для каждого контрола свои опции курсор, фон и.т.д. ... может возможно как то хитрым путём, может связанным с RegisterClass, сначала изменить имена классов указанных контролов на какие то свои, и потом для них назначить опции как для разных по классу контролов.</p></blockquote></div><p>А зачем такие сложности? Это всё можно сделать способом выше (сабклассингом).</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-05-18T14:54:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103927#p103927</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103924#p103924" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Foma пишет:</cite><blockquote><p>При наведении и кликах на Edit тоже разово изменение происходит.</p></blockquote></div><p>То есть происходят мелькания? Хуже работает?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T12:57:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103924#p103924</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103923#p103923" />
			<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>2016-05-18T12:56:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103923#p103923</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103922#p103922" />
			<content type="html"><![CDATA[<p>Все 8 цветов меняются при нажатии F11. <br />При наведении и кликах на Edit тоже разово изменение происходит.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2016-05-18T12:46:20Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103922#p103922</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103921#p103921" />
			<content type="html"><![CDATA[<p><strong>Foma</strong> а у вас такой код всегда работает? С <strong>teadrinker</strong> обсуждали, он говорит что иногда не срабатывает, у меня такого ни разу не наблюдалось.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
#SingleInstance Force     
Global Ctrl := []
OnMessage(WM_CTLCOLOREDIT := 0x133, &quot;WM_CTLCOLOR&quot;)
OnMessage(WM_CTLCOLORSTATIC := 0x138, &quot;WM_CTLCOLOR&quot;)
Gui, Add, Edit, w200 r12 hwndhCtrl1, ReadWrite
Gui, Add, Edit, wp hwndhCtrl2 ReadOnly, ReadOnly
Gui, Add, Text, wp hwndhCtrl3 Center, Первый текст
Gui, Add, Text, wp hwndhCtrl4 Center, Второй текст
GuiControl, Focus, %hCtrl1%
Gui, Show

RandColor:
	Loop 4  {
		Random, Rand, 0, 0xFFFFFF   
		SetControlColor(hCtrl%A_Index%, Rand, Rand^0xFFFFFF)
	}
	Return
	
F11::GoSub, RandColor
	
SetControlColor(hwnd, BG, FG)   { 
	Ctrl[hwnd] := {BG:BG,FG:FG}
	WM_CTLCOLOR(DllCall(&quot;GetDC&quot;, &quot;Ptr&quot;, hwnd), hwnd)
	DllCall(&quot;RedrawWindow&quot;, &quot;Ptr&quot;, hwnd, &quot;Uint&quot;, 0, &quot;Uint&quot;, 0, &quot;Uint&quot;, 0x1|0x4)
}

WM_CTLCOLOR(wParam, lParam)   {  
	If !Ctrl.HasKey(lParam) 
		Return 0 
	hBrush := DllCall(&quot;CreateSolidBrush&quot;, UInt, Ctrl[lParam].BG)
	DllCall(&quot;SetTextColor&quot;, Ptr, wParam, UInt, Ctrl[lParam].FG)
	DllCall(&quot;SetBkColor&quot;, Ptr, wParam, UInt, Ctrl[lParam].BG)
	DllCall(&quot;SetBkMode&quot;, Ptr, wParam, UInt, 2)
	Return hBrush 
}  
</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-05-18T11:50:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103921#p103921</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Изменение свойств отображения элементов GUI]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=103919#p103919" />
			<content type="html"><![CDATA[<p>Отличное решение проблемы, спасибо.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2016-05-18T11:35:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=103919#p103919</id>
		</entry>
</feed>
