Mensagem WM_NCXBUTTONDBLCLK

Postado quando o usuário clicar duas vezes no primeiro ou segundo botão X enquanto o cursor está na área que não é destinada ao cliente de uma janela. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada.

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

#define WM_NCXBUTTONDBLCLK              0x00AD

Parâmetros

wParam

A palavra de ordem inferior especifica o valor do teste de clique retornado pela função DefWindowProc do processamento da mensagem WM_NCHITTEST. Para ver uma lista de valores do teste de clique, confira WM_NCHITTEST.

A palavra de ordem superior indica que o botão foi clicado duas vezes. Pode ser um dos seguintes valores.

Valor Significado
XBUTTON1
0x0001
O primeiro botão X foi clicado duas vezes.
XBUTTON2
0x0002
O segundo botão X foi clicado duas vezes.

lParam

Um ponteiro para uma estrutura POINTS que contém as coordenadas x e y do cursor. As coordenadas são relativas ao canto superior esquerdo da tela.

Valor retornado

Se o aplicativo processar essa mensagem, ela deverá retornar TRUE. Para saber mais sobre como processar o valor retornado, confira a seção Comentários.

Comentários

Use o código a seguir para obter as informações contidas no parâmetro wParam.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

Use também o seguinte código para obter as coordenadas x e y do lParam:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

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 tratam as coordenadas como quantidades sem sinal.

Por padrão, a função DefWindowProc testa o ponto especificado para obter a posição do cursor e executa a ação apropriada. Se apropriado, ele envia a mensagem WM_SYSCOMMAND para a janela.

Uma janela não precisa ter o estilo CS_DBLCLKS para receber mensagens WM_NCXBUTTONDBLCLK. O sistema gera uma mensagem WM_NCXBUTTONDBLCLK quando o usuário pressiona, libera e pressiona o botão X novamente dentro do limite de tempo de clique duplo do sistema. Na verdade, clicar duas vezes em um desses botões gera quatro mensagens: WM_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLK e WM_NCXBUTTONUP novamente.

Ao contrário das mensagens WM_NCLBUTTONDBLCLK, WM_NCMBUTTONDBLCLK e WM_NCRBUTTONDBLCLK, um aplicativo deverá retornar TRUE dessa mensagem se processá-la. Isso permitirá que o software que simula essa mensagem em sistemas Windows anteriores ao Windows 2000 determine se o procedimento da janela processou a mensagem ou chamou DefWindowProc para processá-la.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos para desktop]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winuser.h (inclui Windowsx.h)

Confira também

Referência

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDOWN

WM_NCXBUTTONUP

WM_SYSCOMMAND

Conceitual

Entrada por mouse

Outros recursos

MAKEPOINTS

POINTS