Compartilhar via


Método IPointerInactive::OnInactiveSetCursor (ocidl.h)

Define o ponteiro do mouse para um objeto inativo. Esse método é chamado pelo contêiner ao receber um método WM_SETCURSOR quando um objeto inativo está sob o ponteiro do mouse.

Sintaxe

HRESULT OnInactiveSetCursor(
  [in] LPCRECT pRectBounds,
  [in] LONG    x,
  [in] LONG    y,
  [in] DWORD   dwMouseMsg,
  [in] BOOL    fSetAlways
);

Parâmetros

[in] pRectBounds

O retângulo delimitador de objeto especificado nas unidades de coordenadas do cliente da janela que contém. Esse parâmetro informa ao objeto sua posição e tamanho exatos na tela quando a mensagem WM_SETCURSOR foi recebida. Esse valor é especificado em unidades do sistema de coordenadas do cliente.

[in] x

A coordenada horizontal do local do mouse em unidades da janela que contém o cliente.

[in] y

A coordenada vertical do local do mouse em unidades da janela que contém o cliente.

[in] dwMouseMsg

O identificador da mensagem do mouse para a qual ocorreu um WM_SETCURSOR.

[in] fSetAlways

Se esse valor for TRUE, o objeto deverá definir o cursor; se esse valor for FALSE, o objeto não será obrigado a definir o cursor e deverá retornar S_FALSE nesse caso.

Retornar valor

Esse método pode retornar o valor de retorno padrão E_FAIL, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O ponteiro do mouse foi definido com êxito.
S_FALSE
O objeto não definiu o cursor; o contêiner deve definir o cursor ou chamar o objeto novamente com o parâmetro fSetAlways definido como TRUE.

Comentários

O contêiner chama esse método para definir o ponteiro do mouse sobre um objeto inativo depois de verificar a política de ativação do objeto chamando o método IPointerInactive::GetActivationPolicy . Se o objeto não tiver solicitado a ativação in-loco por meio dessa chamada, o contêiner enviará mensagens WM_SETCURSOR subsequentes para o objeto inativo chamando OnInactiveSetCursor , desde que o ponteiro do mouse permaneça sobre o objeto .

Para evitar erros de arredondamento e facilitar o trabalho no implementador de objeto, esse método usa coordenadas de janela nas unidades de sua janela de cliente que contém, ou seja, a janela na qual o objeto é exibido, em vez das unidades HIMETRIC usuais. Assim, as mesmas coordenadas e caminho de código podem ser usados quando o objeto está ativo e inativo. As coordenadas da janela especificam a posição do mouse. O retângulo delimitador também é especificado no mesmo sistema de coordenadas.

OnInactiveSetCursor usa um parâmetro adicional, fSetAlways, que indica se o objeto é obrigado a definir o cursor ou não. Os contêineres devem primeiro chamar esse método com esse parâmetro FALSE. O objeto pode retornar S_FALSE para indicar que não definiu o cursor. Nesse caso, o contêiner deve definir o cursor em si ou, se não quiser fazer isso, chame o método OnInactiveSetCursor novamente com fSetAlways sendo TRUE.

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]
Plataforma de Destino Windows
Cabeçalho ocidl.h

Confira também

Ipointerinactive