Compartilhar via


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.

Importante Para objetos OLE sem janelas, esse mecanismo é ligeiramente diferente. Consulte IOleInPlaceSiteWindowless para obter mais informações sobre operações de arrastar e soltar para objetos sem janelas.
 

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

Confira também

Idroptarget

Ipointerinactive

IPointerInactive::GetActivationPolicy