Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um controle de árvore (CTreeCtrl) envia uma notificação quando o usuário começa a arrastar um item. O controle envia uma mensagem de notificação TVN_BEGINDRAG quando o usuário começa a arrastar um item com o botão esquerdo do mouse e uma mensagem de notificação TVN_BEGINRDRAG quando o usuário começa a arrastar com o botão direito. Você pode impedir que um controle de árvore envie essas notificações definindo o estilo TVS_DISABLEDRAGDROP para o controle de árvore.
Você obtém uma imagem a ser exibida durante uma operação de arrastar chamando a função membro CreateDragImage . O controle de árvore cria um bitmap de arrastar com base na etiqueta 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 objeto CImageList .
Você deve fornecer o código que realmente arrasta o item. Isso normalmente envolve o uso dos recursos de arrastar das funções de lista de imagens e o processamento das mensagens WM_MOUSEMOVE e WM_LBUTTONUP (ou WM_RBUTTONUP) enviadas após o início da operação de arrastar. Para obter mais informações sobre as funções de lista de imagens, consulte CImageList na Referência MFC e Image Lists no SDK do Windows. Para obter mais informações sobre como arrastar um item de controle de árvore, consulte Arrastar o Item de Exibição de Árvore, também no SDK do Windows.
Se os itens em um controle de árvore forem os destinos de uma operação de arrastar e soltar, você precisará saber quando o cursor do mouse está em um item de destino. Você pode descobrir isso chamando a função de membro HitTest. Especifique um ponto e um inteiro ou o endereço de uma estrutura TVHITTESTINFO que contenha as coordenadas atuais do cursor do mouse. Quando a função retorna, o inteiro ou estrutura contém um sinalizador que indica o local do cursor do mouse em relação ao controle de árvore. Se o cursor estiver sobre um item no controle de árvore, a estrutura também conterá o identificador do item.
Você pode indicar que um item é o destino de uma operação de arrastar e soltar chamando a função membro SetItem para definir o estado como o valor especificado por TVIS_DROPHILITED. Um item que tem esse estado é desenhado no estilo usado para indicar um destino do tipo "arrastar e soltar".