Compartilhar via


Arrastando imagens de uma lista de imagem

CImageList inclui funções para arrastar uma imagem na tela.Sem problemas, as funções de arrastar mover uma imagem em cores e sem qualquer piscante do cursor.Podem ser arrastadas imagens mascaradas e não mascaradas.

O BeginDrag função de membro começa uma operação de arrastar.Os parâmetros incluem o índice da imagem para arrastar e o local do ponto ativo dentro da imagem.O ponto de acesso é um único pixel funções arrastar reconhecem como a localização exata da tela da imagem.Normalmente, um aplicativo define o ponto de acesso para que ele coincida com o ponto de acesso do cursor do mouse.O DragMove função de membro Move a imagem para um novo local.

O DragEnter função de membro define a posição inicial da imagem arrastar dentro de uma janela e desenha a imagem na posição.Os parâmetros incluem um ponteiro para a janela na qual desenhar a imagem e um ponto que especifica as coordenadas de posição inicial dentro da janela.As coordenadas são relativas ao canto superior esquerdo da janela, não a área do cliente.O mesmo é verdadeiro para todas as funções de arrastar a imagem levar coordenadas como parâmetros.Isso significa que você precisa compensar larguras dos elementos de janela, como, por exemplo, a borda, barra de título e barra de menus, ao especificar as coordenadas.Se você especificar um Nulo identificador de janela ao chamar DragEnter, as funções de arrastar desenhar a imagem no contexto de dispositivo associado com a janela Área de trabalho e as coordenadas são relativas ao canto superior esquerdo da tela.

DragEnterbloqueia todas as outras atualizações para determinada janela durante a operação de arrastar.Se você precisar fazer qualquer desenho durante uma operação de arrastar, como, por exemplo, realce o destino de uma operação de arrastar e soltar, você pode ocultar temporariamente a imagem arrastada usando o DragLeave função de membro.Você também pode usar o DragShowNoLock função de membro.

Chamar EndDrag quando você terminar arrastando a imagem.

O SetDragCursorImage função de membro cria uma nova imagem arrastar combinando a imagem (normalmente uma imagem do cursor de mouse) com a imagem de arrastar atual.Como arrastar funções usam a nova imagem durante uma operação de arrastar, você deve usar o Windows ShowCursor função para ocultar o cursor do mouse real depois de chamar o SetDragCursorImage.Caso contrário, o sistema pode parecer ter dois cursores do mouse para a duração da operação de arrastar.

Quando um aplicativo chama BeginDrag, o sistema cria uma lista de imagem temporário, interno e cópias especificadas arraste a imagem para a lista interna.Você pode recuperar um ponteiro para a lista de imagem temporário arrastar usando o GetDragImage função de membro.A função também recupera a posição atual do arrastar e o deslocamento da imagem arrastar relativo à posição arrastar.

Consulte também

Referência

Usando CImageList

Conceitos

Controles (MFC)