Como fornecer funcionalidade de arrastar-e-soltar do arquivo em um aplicativo Visual C++ .NET ou em um aplicativo Visual C++ 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815667
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 306969.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 307966.
Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • System::ComponentModel
  • System::Collections
  • System::Windows::Forms
  • System:: data
  • System::Drawing

NESTA TAREFA

Sumário
Este artigo passo a passo descreve como fornecer funcionalidade de arrastar-e-soltar de arquivo em um aplicativo do Microsoft Visual C++ .NET. Um controle ListBox é usado como o destino do procedimento de arrastar-e-soltar arquivo.

Back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Visual Studio .NET 2003 ou Microsoft Visual Studio 2005
  • Microsoft .NET framework 1.1
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Controle ListBox do Windows Forms
  • Tratamento de evento do Windows Forms
Back to the top

Etapas para criar o exemplo

O controle ListBox fornece dois eventos de arrastar-e-soltar: DragEnter e DragDrop . O evento DragEnter ocorre quando você arrasta um objeto em limites do controle e é usada para determinar se o objeto que está sendo arrastado é aquele que você pode soltar no controle. Você usar o evento DragEnter quando você arrasta um arquivo ou arquivos para o controle. Formulário do Windows exibe o ícone adequado quando o objeto é arrastado sobre o controle, dependendo do objeto que está sendo arrastado. O evento DragDrop ocorre quando você soltar o objeto que está sendo arrastado sobre o controle. Use o evento DragDrop para recuperar o objeto. Use o objeto de dados para recuperar os dados.

O método GetData do objeto de dados retorna uma matriz de seqüências de caracteres que contêm os nomes de caminho completo dos arquivos que foram arrastados para o controle ListBox . Você pode usar essas informações de caminho de arquivo para executar operações nos arquivos. Por exemplo, você pode usar classes no namespace System::IO para abrir e ler os arquivos, para mover os arquivos ou para copiar os arquivos para um novo local. Neste exemplo, você adiciona o caminho completo dos arquivos que são arrastados para o controle ListBox .

Para fornecer funcionalidade de arrastar-e-soltar de arquivo em um aplicativo Visual C++ 2005 ou Visual C++ .NET, siga estas etapas:
  1. Inicie o Microsoft Visual Studio .NET 2003 ou Microsoft Visual Studio 2005.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Clique em Projetos do Visual c++ em Tipos de projeto e, em seguida, clique em Windows Forms Application (. NET) em modelos .

    Observação No Visual Studio 2005, Visual C++ Projects é alterado para o Visual C++ e Windows Forms Application (. NET) é alterado para Windows Forms Application .
  4. Na caixa nome , digite DragDrop e, em seguida, clique em OK . Por padrão, o formulário de Form1 é criado e é aberto no modo de design.
  5. Adicionar um ListBox controle ao Form1.
  6. Clique com o botão direito do mouse Caixalistagem1 e, em seguida, clique em Propriedades .
  7. Altere a propriedade AllowDrop para True .
  8. Clique no botão Events .
  9. Clique duas vezes no evento DragEnter para adicionar um manipulador de eventos listBox1_DragEnter à janela de código.
  10. Adicione o seguinte código em de e de handler.
    if(e->Data->GetDataPresent(DataFormats::FileDrop))	e->Effect = DragDropEffects::All;else	e->Effect = DragDropEffects::None;
  11. No menu Exibir , clique em Designer para alternar para modo de design.
  12. Clique com o botão direito do mouse Caixalistagem1 e, em seguida, clique em Propriedades .
  13. Clique em eventos de botão.
  14. Clique duas vezes o evento DragDrop para adicionar um manipulador de eventos listBox1_DragDrop à janela de código.
  15. Adicione o seguinte código no manipulador de eventos listBox1_DragDrop .
    String *s[] = (String *[]) e->Data->GetData(DataFormats::FileDrop, false);int i;for(i = 0; i < s->Length; i++)	listBox1->Items->Add(s[i]);
    Observação você deve adicionar o common language runtime oferecem suporte a compilador opção (/ CLR: oldSyntax) no Visual C++ 2005 a compilar com êxito o exemplo de código anterior. Para adicionar a opção de compilador de suporte de tempo de execução idioma comum no Visual C++ 2005, siga estas etapas:
    1. Clique em Project e clique em <ProjectName> propriedades .

      Observação <ProjectName> é um espaço reservado para o nome do projeto.
    2. Expanda Configuration Properties e, em seguida, clique em Geral .
    3. Clique para selecionar Common Language Runtime suporte, sintaxe antiga (/ CLR: oldSyntax) no projeto oferece suporte a Common Language Runtime configuração no painel à direita, clique em Aplicar e em seguida, clique em OK .
    Para obter mais informações sobre o common language runtime oferece suporte à opção do compilador, visite o seguinte site da Microsoft:
    / clr (Common Language Runtime Compilation)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  16. Pressione a combinação de teclas CTRL + SHIFT + S para salvar o projeto.
  17. Pressione a combinação de teclas CTRL + SHIFT + B para criar a solução.
  18. Pressione a combinação de teclas CTRL + F5 para executar o projeto.
  19. Arraste um ou mais arquivos da área de trabalho ou de outra pasta para o controle ListBox . Observe que o caminho completo dos arquivos é adicionado ao controle ListBox .
Back to the top
Referências
Para obter mais informações sobre DragEnter e os eventos DragDrop , consulte o seguinte Microsoft Developer sites Network (MSDN (em INGLÊS) da Web:Back to the top
Arrastar, soltar, ListBox, objeto de dados, GetData, arrastar e soltar

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 815667 - Última Revisão: 05/13/2007 05:10:43 - Revisão: 2.2

Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft .NET Framework 1.1

  • kbmt kbwindowsforms kblistbox kbforms kbdragdrop kbhowtomaster KB815667 KbMtpt
Comentários