Enumeração POINTERINACTIVE (ocidl.h)
Indique a política de ativação do objeto e são usados no método IPointerInactive::GetActivationPolicy .
Syntax
typedef enum tagPOINTERINACTIVE {
POINTERINACTIVE_ACTIVATEONENTRY = 1,
POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;
Constantes
POINTERINACTIVE_ACTIVATEONENTRY Valor: 1 O objeto deve ser ativado no local quando o mouse o insere durante uma operação de movimentação do mouse. |
POINTERINACTIVE_DEACTIVATEONLEAVE Valor: 2 O objeto deve ser desativado quando o mouse sai do objeto durante uma operação de movimentação do mouse. |
POINTERINACTIVE_ACTIVATEONDRAG Valor: 4 O objeto deve ser ativado no local quando o mouse é arrastado sobre ele durante uma operação de arrastar e soltar. |
Comentários
Para obter mais informações sobre como usar os valores POINTERINACTIVE_ACTIVATEONENTRY e POINTERINACTIVE_DEACTIVATEONLEAVE , consulte o método IPointerInactive::GetActivationPolicy .
O valor POINTERINACTIVE_ACTIVATEONDRAG pode ser usado para dar suporte a operações de arrastar e soltar em um objeto inativo. Um objeto inativo não tem janela para se registrar como um possível destino de soltar. A maioria dos contêineres ignora objetos inseridos e inativos como destinos de soltar devido à sobrecarga associada à ativação deles.
Como alternativa para ativar um objeto quando o ponteiro do mouse estiver sobre ele durante uma operação de arrastar e soltar, o contêiner pode primeiro QueryInterface para determinar se o objeto inativo dá suporte a IPointerInactive. Em seguida, se o objeto não der suporte a IPointerInactive, o contêiner poderá assumir que ele não é um destino de soltar. Se o objeto der suporte a IPointerInactive, o contêiner chamará o método IPointerInactive::GetActivationPolicy . Se o valor POINTERINACTIVE_ACTIVATEONDRAG for definido, o contêiner ativará o objeto in-loco para que o objeto possa registrar sua própria interface IDropTarget .
O contêiner está processando seu próprio método IDropTarget::D ragOver quando todas essas ações ocorrem. Para concluir esse método, o contêiner retorna DROPEFFECT_NONE para o parâmetro pdwEffect . Em seguida, a operação de arrastar e soltar continua chamando IDropTarget::D ragLeave do contêiner e chamando IDropTarget::D ragEnter do objeto.
Se a queda ocorrer no objeto inserido, o objeto será ativado pela interface do usuário e será desativado pela interface do usuário quando o foco for alterado novamente. Se a queda não ocorrer no objeto , o contêiner deverá desativar o objeto na próxima vez que receber uma chamada para seu próprio IDropTarget::D ragEnter. É possível que a queda ocorra em um terceiro objeto ativo sem uma chamada intervindo para IDropTarget::D ragEnter do contêiner. Nesse caso, o contêiner deve tentar desativar o objeto assim que puder, por exemplo, quando ele ativar a interface do usuário de outro objeto.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | ocidl.h |