<?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>Tecnologia de Programação 1 e 2 (2009) &#187; drag&amp;drop</title>
	<atom:link href="http://www.brunocampagnolo.com/2009tp/tag/dragdrop/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brunocampagnolo.com/2009tp</link>
	<description>PUCPR &#62; Bacharelado em Sistemas de Informação &#62; 3o e 4o Períodos</description>
	<lastBuildDate>Fri, 18 Dec 2009 10:40:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop de imagem em Windows Forms</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:43:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=243</guid>
		<description><![CDATA[Pode ser interessante exibir uma imagem ao invés do cursor padrão do mouse.
Para isso, é necessário trocar o cursor através da propriedade Cursor.Current e, no evento GiveFeedback do drop target impedir a exibição dos cursores padrão ( e.UseDefaultCursors = false).
Dê uma olhada no exemplo em anexo.
]]></description>
			<content:encoded><![CDATA[<p>Pode ser interessante exibir uma imagem ao invés do cursor padrão do mouse.<br />
Para isso, é necessário trocar o cursor através da propriedade Cursor.Current e, no evento GiveFeedback do drop target impedir a exibição dos cursores padrão ( e.UseDefaultCursors = false).<br />
Dê uma olhada no <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplodragdropcomcursordiferente.zip">exemplo em anexo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop em jQuery</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:57:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery UI]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=239</guid>
		<description><![CDATA[Na aula sobre drag e drop também apresentei exemplos de drag e drop em jQuery.
Veja o exemplo que coloquei na aula 13:
http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/
Link direto para o exemplo:
http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip
Observe que se for necessário clonar um objeto, será necessária a criação do draggable com esta opção:


$(&#34;.myDrag&#34;).draggable({helper: &#039;clone&#039; }); 

A seguir, em anexo e no jsbin,  


&#60;!DOCTYPE html PUBLIC [...]]]></description>
			<content:encoded><![CDATA[<p>Na aula sobre drag e drop também apresentei exemplos de drag e drop em jQuery.</p>
<p>Veja o exemplo que coloquei na aula 13:<br />
<a href="http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/">http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/</a></p>
<p>Link direto para o exemplo:<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip">http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip</a></p>
<p>Observe que se for necessário clonar um objeto, será necessária a criação do draggable com esta opção:</p>
<pre name="code" class="javascript">

$(&quot;.myDrag&quot;).draggable({helper: &#039;clone&#039; }); 
</pre>
<p>A seguir, em <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplodragcomclone.html">anexo</a> e no <a href="http://jsbin.com/epota/edit">jsbin</a>,  </p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; /&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
    &lt;title&gt;&lt;/title&gt;

    &lt;style type=&quot;text/css&quot;&gt;
        .myDrag
        {
           background: red;
           border: 2px black solid;
           width: 200px;
           font-size: xx-large;
        }
        .myDrop
        {

           background: green;
           border: 2px black solid;
           width: 400px;
           height: 100px;
           font-size: xx-large;

        }
        .jahArrastado {
           background: blue;
           border: 2px black solid;
           width: 200px;
           font-size: xx-large;
        }
    &lt;/style&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function() {
            // Transforma em um elemento arrastável
            $(&quot;.myDrag&quot;).draggable({helper: &#039;clone&#039; });
            // Transforma em um elemento foco de drop
            $(&quot;#drop1&quot;).droppable({

                // Chama a função quando terminar o arrastar
                drop: function(event, ui) {

                    // Se já tiver sido arrastado anteriormente,
                    if(!$(ui.draggable).hasClass(&quot;jahArrastado&quot;))
                    {
                      // Obtém a posição que o elemento foi arrastado
                      var x = ui.position.left;
                      var y = ui.position.top;
                      // Clona o elemento
                      var m = $(ui.draggable).clone();
                      m.css(&quot;position&quot;, &quot;absolute&quot;);
                      m.css(&quot;left&quot;,x);
                      m.css(&quot;top&quot;,y);
                      m.attr(&quot;class&quot;, &quot;jahArrastado&quot;);
                      m.html(&quot;Jah fui arrastado!&quot;);
                      // Altera o elemento arrastado para um elemento que não
                      // pode ser arrastado
                      m.draggable({helper: &#039;original&#039;});
                      // Adiciona ao container
                      $(this).append(m);

                    }

                }
            });
            $(&quot;#lixeira&quot;).droppable({
              drop: function(event, ui) {
                // Só elementos arrastados podem ser removidos
                if($(ui.draggable).hasClass(&quot;jahArrastado&quot;))
                {
                  $(ui.draggable).remove();
                }

              }
            });

        });
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;myDrag&quot; id=&quot;drag1&quot;&gt;Posso ser arrastado!&lt;/div&gt;
&lt;div class=&quot;myDrop&quot; id=&quot;drop1&quot;&gt;Arraste algo aqui!&lt;/div&gt;
&lt;div class=&quot;myDrop&quot; id=&quot;lixeira&quot;&gt;Lixeira&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop de elemento criado dinamicamente</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 15:46:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=203</guid>
		<description><![CDATA[Em sua interface pode ser necessária a criação de elementos em tempo de execução.
Anteriormente, na Aula 11, percebemos que esta criação se dá através da instanciação do elemento que se deseja inserir na interface e de sua colocação no container desejado através do método Add da coleção Controls.
Exemplo:


// Cria uma instância de botão
Button b = [...]]]></description>
			<content:encoded><![CDATA[<p>Em sua interface pode ser necessária a criação de elementos em tempo de execução.<br />
Anteriormente, na <a href="http://www.brunocampagnolo.com/2009tp/2009/03/26/aula-11-componentes-em-tempo-de-execucao-em-windows-forms/">Aula 11</a>, percebemos que esta criação se dá através da instanciação do elemento que se deseja inserir na interface e de sua colocação no container desejado através do método Add da coleção Controls.</p>
<p>Exemplo:</p>
<pre name="code" class="c#">

// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Adiciona no formulário
this.Controls.Add(b);
</pre>
<p>Se for necessária a criação de um componente em tempo de execução e que possua funcionalidade de drag&amp;drop o evento MouseDown também deve ser considerado.</p>
<pre name="code" class="c#">

// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Determina o evento de mouse down para indicar
// o drag &amp; drop
b.MouseDown += new MouseEventHandler(b_MouseDown);
// Adiciona no formulário
this.Controls.Add(b);
...
void b_MouseDown(object sender, MouseEventArgs e)
{
       this.DoDragDrop(sender, DragDropEffects.Move);
}
</pre>
<p>Em <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/dragedropdinamico.zip">anexo</a>, exemplo de aplicação desta ideia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

