Compartilhar via


WM_XBUTTONUP mensagem

Postado quando o usuário libera XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela. Se o mouse não for capturado, a mensagem será postada na janela abaixo do cursor. Caso contrário, a mensagem será postada na janela que capturou o mouse.

Uma janela recebe essa mensagem por meio de sua função WindowProc.

#define WM_XBUTTONUP                    0x020C

Parâmetros

wParam

A palavra de ordem baixa indica se várias chaves virtuais estão inoperantes. 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.

A palavra de alta ordem indica qual botão foi liberado. Pode ser um dos seguintes valores:

Valor Significado
XBUTTON1
0x0001
O XBUTTON1 foi liberado.
XBUTTON2
0x0002
O XBUTTON2 foi liberado.

lParam

A palavra de baixa ordem especifica a coordenada x do cursor. A coordenada é relativa ao canto superior esquerdo da área do cliente.

A palavra de alta ordem especifica a coordenada y do cursor. A coordenada é relativa ao canto superior esquerdo da área do cliente.

Valor de retorno

Se um aplicativo processar essa mensagem, ele deverá retornar VERDADEIRO. Para obter mais informações sobre como processar o valor retornado, consulte a seção Comentários.

Observações

O Windows dá suporte a mouses com até cinco botões: esquerda, meio e direita, além de dois botões adicionais chamados XBUTTON1 e XBUTTON2. Os botões XBUTTON1 e XBUTTON2 geralmente estão localizados nas laterais do mouse, próximos à base. Esses botões extras não estão presentes em todos os mouses. Se estiverem presentes, os botões XBUTTON1 e XBUTTON2 geralmente serão mapeados para uma função de aplicativo, como navegação para frente e para trás em um navegador da Web.

Use o seguinte código para obter as informações no parâmetro wParam:

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_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 curto do valor retornado; a coordenada y está na curta (ambas representam valores assinados porque podem levar valores negativos em sistemas com vários monitores). Se o valor retornado for atribuído a uma variável, você poderá usar a macro MAKEPOINTS para obter uma estrutura POINTS do valor retornado. Você também pode usar a macro GET_X_LPARAM ou GET_Y_LPARAM para extrair a coordenada x ou y.

Importante

Não use as macros loword ou HIWORD para extrair as coordenadas x e y da posição do cursor porque essas macros retornam resultados incorretos em sistemas com vários monitores. Sistemas com vários monitores podem ter coordenadas x e y negativas e LOWORD e HIWORD tratar as coordenadas como quantidades não assinadas.

Ao contrário das mensagens WM_LBUTTONUP, WM_MBUTTONUPe WM_RBUTTONUP, um aplicativo deverá retornar verdadeiro dessa mensagem se ele a processar. Isso permitirá que o software que simula essa mensagem em sistemas Windows anteriores ao Windows 2000 determine se o procedimento de janela processou a mensagem ou chamou DefWindowProc processá-la.

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
Winuser.h (inclua Windowsx.h)

Consulte também

de referência de

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONDOWN

Conceitual

de entrada do mouse

outros recursos

MAKEPOINTS

POINTS