WM_MOUSEWHEEL mensagem
Enviado para a janela de foco quando a roda do mouse é girada. A função DefWindowProc propaga a mensagem para o pai da janela. Não deve haver encaminhamento interno da mensagem, já que DefWindowProc propaga a cadeia pai até encontrar uma janela que a processe.
Uma janela recebe essa mensagem por meio de sua função
#define WM_MOUSEWHEEL 0x020A
Parâmetros
-
wParam
-
A palavra de alta ordem indica a distância em que a roda é girada, expressa em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor positivo indica que a roda foi girada para frente, longe do usuário; um valor negativo indica que a roda foi girada para trás, em direção ao usuário.
A palavra de ordem baixa indica se várias chaves virtuais estão inoperantes. Esse parâmetro pode ser um ou mais dos valores a seguir.
Valor Significado - MK_CONTROL
- 0x0008
A tecla CTRL está inoperante. - MK_LBUTTON
- 0x0001
O botão esquerdo do mouse está inoperante. - MK_MBUTTON
- 0x0010
O botão do mouse do meio está inoperante. - MK_RBUTTON
- 0x0002
O botão direito do mouse está desligado. - MK_SHIFT
- 0x0004
A tecla SHIFT está inoperante. - MK_XBUTTON1
- 0x0020
O XBUTTON1 está inoperante. - MK_XBUTTON2
- 0x0040
O XBUTTON2 está inoperante. -
lParam
-
A palavra de ordem baixa especifica a coordenada x do ponteiro, em relação ao canto superior esquerdo da tela.
A palavra de alta ordem especifica a coordenada y do ponteiro em relação ao canto superior esquerdo da tela.
Valor de retorno
Se um aplicativo processar essa mensagem, ela deverá retornar zero.
Observações
Use o seguinte código para obter as informações no parâmetro wParam:
fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
Use o seguinte código para obter a posição horizontal e vertical:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Conforme observado acima, a coordenada x está na ordem inferior
Importante
Não use as macros loword
A rotação da roda será um múltiplo de WHEEL_DELTA, que é definido como 120. Esse é o limite para a ação a ser tomada e uma dessas ações (por exemplo, rolagem de um incremento) deve ocorrer para cada delta.
O delta foi definido como 120 para permitir que a Microsoft ou outros fornecedores criem rodas de resolução mais fina (uma roda de rotação livre sem entalhes) para enviar mais mensagens por rotação, mas com um valor menor em cada mensagem. Para usar esse recurso, você pode adicionar os valores delta de entrada até que WHEEL_DELTA seja atingido (portanto, para uma rotação delta, você obtém a mesma resposta) ou rolar linhas parciais em resposta às mensagens mais frequentes. Você também pode escolher sua granularidade de rolagem e acumular deltas até que ela seja atingida.
Observe que não há fwKeys para MSH_MOUSEWHEEL. Caso contrário, os parâmetros são exatamente iguais aos de WM_MOUSEWHEEL.
Cabe ao aplicativo encaminhar MSH_MOUSEWHEEL para quaisquer objetos ou controles inseridos. O aplicativo é necessário para enviar a mensagem para um aplicativo OLE inserido ativo. É opcional que o aplicativo o envie para um controle habilitado para roda com foco. Se o aplicativo enviar a mensagem para um controle, ele poderá verificar o valor retornado para ver se a mensagem foi processada. Os controles são necessários para retornar um valor de VERDADEIRO se processarem a mensagem.
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 |
|
Consulte também
-
de referência de
-
LOWORD
-
Conceitual
-
outros recursos
-
POINTS