locked
Detectar o evento de Drop no msword RRS feed

  • Pergunta

  •  

    Boa tarde!!

    Peço desculpa pela quantidade de novas threads mas isto é novo para mim e não encontro grande documentação relativamente ao que pretendo.

     

    Utilizando C# com framework .net 3.5 e Microsoft.Office.Interop.Word

    Necessito de fazer drag de um nó de um objecto TreeView para um documento *.docx e no entanto preciso de detectar o evento de drop do nó para inserir XML no local(range) onde foi realizado o drop, no entanto o evento de drop não é disponibilizado quer pelo objecto document quer pelo objecto application.

     

    Isto é possivel?

     

    Obrigado pela ajuda

    quarta-feira, 16 de janeiro de 2008 11:46

Respostas

  •  Luiz Cláudio - MVP wrote:

    Olá,

     

    se o nó está saindo de um Windows Form e indo para um documento do Word, não há como ele detectar o drop, a não ser que seja um documento "turbinado" com VSTO (e talvez nem assim).

     

    Acho que uma forma razoável de conseguir a mesma coisa seria posicionar o cursor no documento e jogar o nó escolhido no local do cursor. Esta é a forma que eu faria, pois os comandos do menu Inserir do Word funcionam assim, então já é um comportamento esperado e aceito pelo usuário.

     

     

    Obrigado pela ajuda. Eu também já tinha pensado nessa forma de fazer as coisas mas o utilizador gosta destas coisas de drag&drop. Vou descrever a forma como realizei isto de forma, alguem pode ter o mesmo problema.

    Quando começo a fazer o drag a partir da TreeView coloco como dados a transferir uma string com um caracter espaço e guardo o meu objecto. Quando é feito o drop num documento word sei é disparado o evento de selection changed do objecto document. Visto ter um objecto a transaferir vou inserir no documento o que me interessa.

    Espero ter conseguido explicar de forma clara o que fiz.

     

    Obrigado pela ajuda.

    quarta-feira, 23 de janeiro de 2008 11:49

Todas as Respostas

  • Olá,

     

    se o nó está saindo de um Windows Form e indo para um documento do Word, não há como ele detectar o drop, a não ser que seja um documento "turbinado" com VSTO (e talvez nem assim).

     

    Acho que uma forma razoável de conseguir a mesma coisa seria posicionar o cursor no documento e jogar o nó escolhido no local do cursor. Esta é a forma que eu faria, pois os comandos do menu Inserir do Word funcionam assim, então já é um comportamento esperado e aceito pelo usuário.

     

    quarta-feira, 23 de janeiro de 2008 01:15
    Moderador
  •  Luiz Cláudio - MVP wrote:

    Olá,

     

    se o nó está saindo de um Windows Form e indo para um documento do Word, não há como ele detectar o drop, a não ser que seja um documento "turbinado" com VSTO (e talvez nem assim).

     

    Acho que uma forma razoável de conseguir a mesma coisa seria posicionar o cursor no documento e jogar o nó escolhido no local do cursor. Esta é a forma que eu faria, pois os comandos do menu Inserir do Word funcionam assim, então já é um comportamento esperado e aceito pelo usuário.

     

     

    Obrigado pela ajuda. Eu também já tinha pensado nessa forma de fazer as coisas mas o utilizador gosta destas coisas de drag&drop. Vou descrever a forma como realizei isto de forma, alguem pode ter o mesmo problema.

    Quando começo a fazer o drag a partir da TreeView coloco como dados a transferir uma string com um caracter espaço e guardo o meu objecto. Quando é feito o drop num documento word sei é disparado o evento de selection changed do objecto document. Visto ter um objecto a transaferir vou inserir no documento o que me interessa.

    Espero ter conseguido explicar de forma clara o que fiz.

     

    Obrigado pela ajuda.

    quarta-feira, 23 de janeiro de 2008 11:49
  • Olá gondias,

     

    muito bom este jeito que usou para simular um drag and drop.

     

    sábado, 26 de janeiro de 2008 21:04
    Moderador
  • Obrigado.

    Assim para o utilizador é transparente a utilização e o drag&drop  é mais uma funcionalidade. Se eu puder ajudar nalguma coisa...

    segunda-feira, 28 de janeiro de 2008 10:09