Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
CImageList inclui funções para arrastar uma imagem na tela. As funções de arrastar movem uma imagem suavemente, em cores e sem qualquer piscar do cursor. Tanto as imagens mascaradas como as desmascaradas podem ser arrastadas.
A função de membro BeginDrag inicia uma operação de arrastar. Os parâmetros incluem o índice da imagem a ser arrastada e a localização do ponto sensível dentro da imagem. O ponto sensível é um único pixel que as funções de arrastar reconhecem como a localização exata da imagem no ecrã. Normalmente, um aplicativo define o ponto de acesso para que ele coincida com o ponto de acesso do cursor do mouse. A função membro DragMove move a imagem para um novo local.
A função de membro DragEnter configura a posição inicial da imagem de arrastar dentro de uma janela e desenha a imagem nessa posição. Os parâmetros incluem um ponteiro para a janela na qual desenhar a imagem e um ponto que especifica as coordenadas da posição inicial dentro da janela. As coordenadas são relativas ao canto superior esquerdo da janela, não à área do cliente. O mesmo é verdadeiro para todas as funções de arrasto de imagem que tomam coordenadas como parâmetros. Isso significa que você deve compensar as larguras dos elementos da janela, como a borda, a barra de título e a barra de menus, ao especificar as coordenadas. Se você especificar um identificador de janela NULL ao chamar DragEnter, as funções de arrastar desenharão a imagem no contexto do dispositivo associado à janela da área de trabalho e as coordenadas serão relativas ao canto superior esquerdo da tela.
DragEnter Bloqueia todas as outras modificações na janela especificada durante a operação de arraste. Se precisares de fazer qualquer desenho durante uma operação de arrastar, como realçar o destino de uma operação de arrastar e soltar, podes ocultar a imagem arrastada temporariamente, utilizando o membro da função DragLeave. Você também pode usar a função membro DragShowNoLock.
Chame EndDrag quando terminar de arrastar a imagem.
A função membro SetDragCursorImage cria uma nova imagem de arrasto ao combinar a imagem fornecida (normalmente uma imagem de cursor) com a imagem de arrasto atual. Como as funções de arrastar usam a nova imagem durante uma operação de arrastar, você deve usar a função ShowCursor do Windows para ocultar o cursor real do mouse depois de chamar SetDragCursorImage. Caso contrário, o sistema pode parecer ter dois cursores do mouse durante a operação de arrastar.
Quando uma aplicação chama BeginDrag, o sistema cria uma lista de imagens interna temporária e copia a imagem de arrasto especificada para a lista interna. Você pode recuperar um ponteiro para a lista de imagens de arraste temporária usando a GetDragImage função de membro. A função também recupera a posição de arrasto atual e o deslocamento da imagem de arrasto em relação à posição de arrasto.