Partilhar via


Operações de do tipo arrastar e soltar de controle de árvore

Um controle de árvore (CTreeCtrl) envia uma notificação quando o usuário começa a arrastar um item.O controle envia um TVN_BEGINDRAG mensagem de notificação quando o usuário começa a arrastar um item com botão do mouse esquerdo do mouse e um TVN_BEGINRDRAG mensagem de notificação quando o usuário começa a arrastar com botão do mouse direito do mouse.Você pode impedir um controle de árvore de enviar essas notificações, oferecendo o controle de árvore a TVS_DISABLEDRAGDROP estilo.

Obter uma imagem a ser exibida durante uma operação de arrastar, chamando o CreateDragImagefunção de membro .O controle de árvore cria um bitmap arrastar com base no rótulo do item que está sendo arrastado.Em seguida, o controle de árvore cria uma lista de imagens, adiciona o bitmap a ele e retorna um ponteiro para o CImageList objeto.

Você deve fornecer o código que, na verdade, você pode arrastar o item.Isso normalmente envolve o uso a arrastando recursos das funções de lista de imagem e processamento de WM_MOUSEMOVE and WM_LBUTTONUP (or WM_RBUTTONUP) mensagens enviadas depois de iniciada a operação de arrastar.Para obter mais informações sobre as funções de lista de imagem, consulte CImageList in the Referência da MFC and Listas de imagem in the Windows SDK. Para obter mais informações sobre como arrastar um item de controle de árvore, consulte Arrastando o item de modo de exibição de árvore, também no Windows SDK.

Se for ser alvos de uma operação de do tipo arrastar e soltar itens em um controle de árvore, você precisa saber quando o cursor do mouse está sobre um item de destino.Você pode descobrir chamando o HitTestfunção de membro .Especifique um ponto e inteiro ou o endereço de um TVHITTESTINFO estrutura que contém as corrente coordenadas do cursor do mouse.Quando a função retorna, inteiro ou estrutura contém um sinalizar que indica o local do cursor do mouse em relação ao controle de árvore.Se o cursor sobre um item no controle de árvore, a estrutura contém o identificador do item também.

Você pode indicar que um item é o destino de uma operação de do tipo arrastar e soltar chamando o SetItem função de membro para conjunto o estado para o TVIS_DROPHILITED valor. Um item com esse estado é desenhado no estilo usado para indicar um destino de do tipo arrastar e soltar.

Consulte também

Conceitos

Controles (MFC)

Referência

Usando CTreeCtrl