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 |
---|---|
|
O ponteiro do mouse foi definido com êxito. |
|
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 |