<?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>Juliano Ribeiro &#187; Canvas</title>
	<atom:link href="http://julianoribeiro.com.br/blog/tag/canvas/feed/" rel="self" type="application/rss+xml" />
	<link>http://julianoribeiro.com.br/blog</link>
	<description>Development and Design</description>
	<lastBuildDate>Tue, 31 Jan 2012 11:40:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Como mudar a cor da coluna ativa da DBGrid</title>
		<link>http://julianoribeiro.com.br/blog/como-mudar-a-cor-da-coluna-ativa-da-dbgrid/</link>
		<comments>http://julianoribeiro.com.br/blog/como-mudar-a-cor-da-coluna-ativa-da-dbgrid/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 22:15:02 +0000</pubDate>
		<dc:creator>Juliano Ribeiro</dc:creator>
				<category><![CDATA[Básico]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[DBGrid]]></category>

		<guid isPermaLink="false">http://julianoribeiro.com.br/blog/?p=403</guid>
		<description><![CDATA[Eu vou começar uma série de posts, bastante básicos, sobre coisas que já usei em Delphi. A rotina abaixo deverá ser colocada no evento OnDrawDataCell, e vai mudar a cor da coluna ativa em uma DBGrid. procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if gdFocused in state then with TDBGrid(sender).Canvas do [...]]]></description>
			<content:encoded><![CDATA[<p>Eu vou começar uma série de posts, bastante básicos, sobre coisas que já usei em Delphi.</p>
<p>A rotina abaixo deverá ser colocada no evento <strong>OnDrawDataCell</strong>, e vai mudar a cor da coluna ativa em uma DBGrid.</p>
<pre class="brush: delphi;">
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
    if gdFocused in state then
        with TDBGrid(sender).Canvas do
        begin
            Brush.Color := clRed;
            FillRect( cRect );
            TextOut(Rect.Left, Rect.Top, Field.AsString);
        end;
end;
</pre>
<p>PS: Eu usei isso no Delphi 3.0, mas acho que ainda deve funcionar.</p>
]]></content:encoded>
			<wfw:commentRss>http://julianoribeiro.com.br/blog/como-mudar-a-cor-da-coluna-ativa-da-dbgrid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Delphi] Relógio usando Canvas</title>
		<link>http://julianoribeiro.com.br/blog/delphi-relogio-usando-canvas/</link>
		<comments>http://julianoribeiro.com.br/blog/delphi-relogio-usando-canvas/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 11:25:44 +0000</pubDate>
		<dc:creator>Juliano Ribeiro</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Relógio]]></category>

		<guid isPermaLink="false">http://julianoribeiro.com.br/blog/?p=264</guid>
		<description><![CDATA[Segue um exemplo usado no Dojo de 06/08/2009, aqui na Produtec. Não houve tempo de concluí-lo, mas os conceitos básicos estão presentes. No código abaixo, tem somente o corpo básico, mais o ponteiro dos segundos. Fiquem à vontade para concluí-lo. Para que o exemplo funcione, basta criar um form com ClientHeight e ClientWidth de no [...]]]></description>
			<content:encoded><![CDATA[<p>Segue um exemplo usado no Dojo de 06/08/2009, aqui na <a href="http://www.produtec.com.br">Produtec</a>.</p>
<p>Não houve tempo de concluí-lo, mas os conceitos básicos estão presentes. No código abaixo, tem somente o corpo básico, mais o ponteiro dos segundos. Fiquem à vontade para concluí-lo.</p>
<p>Para que o exemplo funcione, basta criar um form com ClientHeight e ClientWidth de no mínimo 300 e neste colocar um Timer com parâmetros padrões.</p>
<pre class="brush: delphi;">
procedure TForm1.Timer1Timer(Sender: TObject);
const
   LARGURA = 300;
var
   XFinal, YFinal: Integer;
   Hora, Minuto, Segundo, MiliSegundo: Word;
   Angulo: Integer;
begin
   Refresh;
   Caption := TimeToStr(Time);  

   // Disco do Relógio
   Canvas.Pen.Width := 1;  

   Canvas.Brush.Color := clWhite;
   Canvas.Brush.Style := bsSolid;
   Canvas.Ellipse(0, 0, LARGURA, LARGURA);  

   // Ponteiros
   Canvas.Pen.Style := psSolid;
   Canvas.Pen.Width := 3;
   Canvas.Pen.Color := clBlack;  

   Canvas.MoveTo(LARGURA div 2, LARGURA div 2);  

   DecodeTime(Time, Hora, Minuto, Segundo, Milisegundo);  

   XFinal := (LARGURA div 2) + Trunc(Sin(DegToRad(180 - Segundo * 6)) * (LARGURA div 2));
   YFinal := (LARGURA div 2) + Trunc(Cos(DegToRad(180 - Segundo * 6)) * (LARGURA div 2));  

   Canvas.LineTo(XFinal, YFinal);  

end;
</pre>
<p>Dúvidas, coloquem a seguir.</p>
]]></content:encoded>
			<wfw:commentRss>http://julianoribeiro.com.br/blog/delphi-relogio-usando-canvas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

