WM_XBUTTONDBLCLK mensagem
Publicado quando o usuário clica duas vezes em 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 é postada na janela que capturou o mouse.
Uma janela recebe esta mensagem através da sua função WindowProc.
#define WM_XBUTTONDBLCLK 0x020D
Parâmetros
-
wParam
-
A palavra de ordem baixa indica se várias chaves virtuais estão inativas. Pode ser um ou mais dos seguintes valores.
Valor Significado - MK_CONTROL
- 0x0008
A tecla CTRL está inativa. - MK_LBUTTON
- 0x0001
O botão esquerdo do rato está inativo. - MK_MBUTTON
- 0x0010
O botão do meio do mouse está para baixo. - MK_RBUTTON
- 0x0002
O botão direito do rato está inativo. - MK_SHIFT
- 0x0004
A tecla SHIFT está inativa. - MK_XBUTTON1
- 0x0020
O XBUTTON1 está em baixa. - MK_XBUTTON2
- 0x0040
A XBUTTON2 está em baixa. A palavra de ordem alta indica qual botão foi clicado duas vezes. Pode ser um dos seguintes valores.
Valor Significado - XBUTTON1
- 0x0001
O XBUTTON1 foi clicado duas vezes. - XBUTTON2
- 0x0002
O XBUTTON2 foi clicado duas vezes. -
lParam
-
A palavra de ordem baixa especifica a coordenada x do cursor. A coordenada é relativa ao canto superior esquerdo da área do cliente.
A palavra de ordem alta 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 TRUE. Para obter mais informações sobre como processar o valor de retorno, consulte a seção Comentários.
Comentários
O Windows suporta ratos com até cinco botões: esquerdo, médio e direito, 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, perto da base. Esses botões extras não estão presentes em todos os mouses. Se estiverem presentes, os botões XBUTTON1 e XBUTTON2 geralmente são mapeados para uma função do aplicativo, como navegação para frente e para trás em um navegador da Web.
Use o código a seguir 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);
Como observado acima, a coordenada x está na ordem baixa
Importante
Não use o LOWORD ou macros 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.
Apenas as janelas que têm o estilo CS_DBLCLKS podem receber mensagens WM_XBUTTONDBLCLK, que o sistema gera sempre que o usuário pressiona, libera e pressiona novamente XBUTTON1 ou XBUTTON2 dentro do limite de tempo de clique duplo do sistema. Clicar duas vezes em um desses botões, na verdade, gera quatro mensagens: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLKe WM_XBUTTONUP novamente.
Ao contrário das mensagens WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLKe WM_RBUTTONDBLCLK, um aplicativo deve retornar TRUE dessa mensagem se 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 para processá-la.
Requerimentos
Exigência | Valor |
---|---|
Cliente mínimo suportado |
Windows 2000 Professional [apenas aplicações de ambiente de trabalho] |
Servidor mínimo suportado |
Windows 2000 Server [apenas aplicações de ambiente de trabalho] |
Cabeçalho |
|
Ver também
-
de referência
-
Conceptual
-
Outros recursos