Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 12 de Junho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
146 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Dicas]  Drag and Drop com ListView
Publicado por rboaro : Quarta, Fevereiro 01, 2012 - 04:55 GMT-3 (870 leituras)
Comentários 5 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Diego Garcia Primeiro inclua em seu formulário dois TListView e preencha a propriedades DragMode com o valor dmAutomatic nos dois. Para facilitar nossas vidas, vamos criar um método genérico para realizar o drag and drop, com o seguinte código
procedure realizarDragAndDrop(Sender: TObject; Source: TObject);
var
itemAdicionado : TListItem;
Item : string;
itAdd : TListItem;
begin
if Source <> Sender then
begin
with (Source as TListview) do
begin
Item := Items[ItemIndex].Caption;
Items.Delete(ItemIndex);
itAdd := items[ItemIndex];
end;
itemAdicionado := (Sender as TListView).Items.AddItem(itAdd, 1);
itemAdicionado.Caption := item;
end;
end;

Agora, vamos partir do ponto que nossos listView só aceitam drag and drop de componentes listView, para isso, no evento onDragOver de cada listView vamos colocar o seguinte código

Accept := (Source is TListView);

Para finalizar, vamos fazer a chamada do método que realiza o drag and drop efetivamente. No evento onDragDrop de cada listView, basta fazer a chamada do nosso método realizarDragAndDrop da seguinte maneira

realizarDragAndDrop(Sender, Source);

Vale ressaltar que os parâmetros Sender e Source são parâmetros de entrada do evento onDragDrop de um listView que definem a origem e o destino do item que está sendo manipulado com o drag and drop.

Abraços
Diego Garcia


Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: moura (adriano@isoftpr.com.br) : Fev 01, 2012 - 08:26
(Informações sobre o membro | Enviar uma mensagem) http://www.isoftpr.com.br
Diego, parabéns!

Eu teste e funcionou perfeitamente.
Será muito util para os meus sistemas.

Valeu!


por: bernardo_perin (bernardo_perin@hotmail.com) : Fev 02, 2012 - 08:03
(Informações sobre o membro | Enviar uma mensagem)
Muito útil,valeu Diego!


por: gnandi83 (papaicleber@hotmail.com) : Fev 02, 2012 - 09:37
(Informações sobre o membro | Enviar uma mensagem) http://http://
Fiz aqui..
Coloquei os dois listview com todos os comandos que disseste aqui, e qdo compilei, nao apareceu nada..
precisa fazer algo mais, ou só solocar os listview vazio e pronto, tem que fazer alguma ligação?
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados