<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GSaraiva&#039;s Projects &#187; HWND</title>
	<atom:link href="http://projects.pro.br/gsaraiva/tag/hwnd/feed/" rel="self" type="application/rss+xml" />
	<link>http://projects.pro.br/gsaraiva</link>
	<description>Step by step</description>
	<lastBuildDate>Tue, 01 Sep 2009 13:14:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Delphi: SendMessage</title>
		<link>http://projects.pro.br/gsaraiva/2008/05/delphi-sendmessage/</link>
		<comments>http://projects.pro.br/gsaraiva/2008/05/delphi-sendmessage/#comments</comments>
		<pubDate>Tue, 20 May 2008 01:01:07 +0000</pubDate>
		<dc:creator>Gilberto Saraiva</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[BN_CLICKED]]></category>
		<category><![CDATA[CN_COMMAND]]></category>
		<category><![CDATA[Handle]]></category>
		<category><![CDATA[HFILE]]></category>
		<category><![CDATA[HGLOBAL]]></category>
		<category><![CDATA[HHOOK]]></category>
		<category><![CDATA[HINST]]></category>
		<category><![CDATA[HLOCAL]]></category>
		<category><![CDATA[HMENU]]></category>
		<category><![CDATA[HWND]]></category>
		<category><![CDATA[Message]]></category>
		<category><![CDATA[SendMessage]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WM_SETTEXT]]></category>

		<guid isPermaLink="false">http://gsaraiva.projects.pro.br/?p=28</guid>
		<description><![CDATA[Camaradas,
O SendMessage é uma função disponibilizada pela plataforma windows (API) que nos permite interagir sobre objetos Window, ou seja, todos os objetos que possuem Handle, seja esse handle de qual tipo for: HWND, HFILE, HMENU, HHOOK, HGLOBAL, HLOCAL, HINST e outros vários. Diante isso podemos entender que o acesso a certos objetos pode ser feito [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Camaradas,</strong></p>
<p>O SendMessage é uma função disponibilizada pela plataforma windows (API) que nos permite interagir sobre objetos Window, ou seja, todos os objetos que possuem Handle, seja esse handle de qual tipo for: HWND, HFILE, HMENU, HHOOK, HGLOBAL, HLOCAL, HINST e outros vários. Diante isso podemos entender que o acesso a certos objetos pode ser feito através da utilização dessa API. </p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li><span style="color: #008000; font-style: italic;">{$EXTERNALSYM SendMessage}</span></li><li><span style="color: #000000; font-weight: bold;">function</span> SendMessage<span style="color: #000066;">&#40;</span>hWnd<span style="color: #000066;">:</span> HWND<span style="color: #000066;">;</span> Msg<span style="color: #000066;">:</span> UINT<span style="color: #000066;">;</span> wParam<span style="color: #000066;">:</span> WPARAM<span style="color: #000066;">;</span> lParam<span style="color: #000066;">:</span> LPARAM<span style="color: #000066;">&#41;</span><span style="color: #000066;">:</span> LRESULT<span style="color: #000066;">;</span> <span style="color: #000000; font-weight: bold;">stdcall</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
Basicamente o SendMessage necessita apenas do Handle e da Mensagem ( Message ), os outros 2 parametros serão dependentes da Mensagem enviada.</p>
<p>Um exemplo:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;SendMessage<span style="color: #000066;">&#40;</span>btn2<span style="color: #000066;">.</span><span style="color: #006600;">Handle</span><span style="color: #000066;">,</span> CN_COMMAND<span style="color: #000066;">,</span> BN_CLICKED<span style="color: #000066;">,</span> 0<span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
Envia uma mensagem do tipo CN_COMMAND para o btn2 (no nosso caso esse é um TButton) com o parametro BN_CLICKED que faz o TButton btn2 entender que se deve executar o procedimento de click.</p>
<p>Outro exemplo interessante:<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="Delphi"><div class="devcodeoverflow"><ol><li>&nbsp;&nbsp;SendMessage<span style="color: #000066;">&#40;</span>form1<span style="color: #000066;">.</span><span style="color: #006600;">Handle</span><span style="color: #000066;">,</span> WM_SETTEXT<span style="color: #000066;">,</span> 0<span style="color: #000066;">,</span> <span style="color: #000066; font-weight: bold;">Integer</span><span style="color: #000066;">&#40;</span><span style="color: #000066; font-weight: bold;">PChar</span><span style="color: #000066;">&#40;</span><span style="color: #ff0000;">'Novo Título'</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">&#41;</span><span style="color: #000066;">;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
O código acima modifica o título do TForm form1 para o valor &#8220;Novo Título&#8221;.</p>
<p>A infinidade de coisas que dá pra se fazer com essa pequena API é incalculável.<br />
Se quiser ver como é vasta a capacidade proponha-me um problema! Eu ficarei grato pelo desafio.</p>
<p>Abraço a todos</p>
]]></content:encoded>
			<wfw:commentRss>http://projects.pro.br/gsaraiva/2008/05/delphi-sendmessage/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
