Mensagens de Mouse de área do cliente

Uma janela recebe uma mensagem de mouse do cliente área quando ocorre um evento de mouse dentro de área cliente da janela. O sistema envia a mensagem WM_MOUSEMOVE para a janela quando o usuário move o cursor dentro da área de cliente. Ele envia as seguintes mensagens quando o usuário pressiona ou libera um botão do mouse enquanto o cursor estiver dentro da área de cliente.

Mensagem Significado
WM_LBUTTONDBLCLK Botão esquerdo do mouse foi clicado duas vezes.
WM_LBUTTONDOWN Botão esquerdo do mouse foi pressionado.
WM_LBUTTONUP Botão esquerdo do mouse foi lançado.
WM_MBUTTONDBLCLK O botão do meio do mouse foi clicado duas vezes.
WM_MBUTTONDOWN O botão do meio do mouse foi pressionado.
WM_MBUTTONUP O botão do meio do mouse foi lançado.
WM_RBUTTONDBLCLK Botão direito do mouse foi clicado duas vezes.
WM_RBUTTONDOWN O botão direito do mouse foi pressionado.
WM_RBUTTONUP O botão direito do mouse foi lançado.

Parâmetros de mensagem

O lParam parâmetro de uma mensagem de mouse do cliente área indica a posição do ponto de acesso do cursor. A baixa-ordem palavra indica a coordenada x do ponto ativo, e o alto-ordem palavra indica a coordenada y. As coordenadas são fornecidas em coordenadas de cliente. No sistema de coordenadas do cliente, todos os pontos na tela são dadas relativo para as coordenadas (0,0) do canto superior esquerdo da área do cliente.

O wParam parâmetro contém sinalizadores que indicam o status dos outro botões do mouse e as teclas ctrl e shift no momento do evento do mouse. Você pode verificar esses sinalizadores quando processamento de mensagem de mouse depende o estado outro botão do mouse ou a tecla ctrl ou shift. O lParam parâmetro pode ser uma combinação dos seguintes valores.

Valor Significado
MK_CONTROL A tecla ctrl está pressionada.
MK_LBUTTON Botão esquerdo do mouse é para baixo.
MK_MBUTTON O botão do meio do mouse é para baixo.
MK_RBUTTON Botão direito do mouse é para baixo.
MK_SHIFT A tecla shift está pressionada.

Clique duas vezes em mensagens

O sistema gera uma mensagem de clique duplo quando o usuário clica em um botão do mouse duas vezes em rápida sucessão. Quando o usuário clica em um botão, o sistema estabelece um Retangular centralizado em torno do ponto de acesso do cursor. Ele também marca a hora em que ocorreu o clique. Quando o usuário clica no mesmo botão pela segunda vez, o sistema determina se o ponto de acesso está ainda dentro do retângulo e calcula que o tempo decorrido desde o primeiro clique. Se o ponto de acesso está ainda dentro do retângulo e o tempo decorrido não excedeu o valor de tempo limite do clique duplo, o sistema gera uma mensagem de clique duplo.

Um aplicativo pode obter e definir valores de tempo limite de duas vezes em usando as funções GetDoubleClickTime e SetDoubleClickTime , respectivamente. Como alternativa, o aplicativo pode definir o valor de tempo limite de duas vezes em usando o Sinalizar SPI_SETDOUBLECLICKTIME com o SystemParametersInfo função. Ele também pode definir o tamanho do Retangular que o sistema usa para detectar clica duas vezes, passando os sinalizadores SPI_SETDOUBLECLKWIDTH e SPI_SETDOUBLECLKHEIGHT para SystemParametersInfo. Observe, entretanto, que a definição do valor de tempo limite de clique duplo e retângulo afeta todos os aplicativos.

Uma janela application-defined não recebe, por padrão, clique duas vezes em mensagens. Por causa da sobrecarga de sistema envolvida na geração de clique duplo mensagens, essas mensagens são geradas somente para janelas que pertencem a classes que tem o estilo classe CS_DBLCLKS. Seu aplicativo deve definir este estilo ao registrar a classe janela. Para obter mais informações, consulte Classes de janela.

Uma mensagem de clique duplo sempre é o terceiro em uma série de quatro-mensagem. As duas primeiras mensagens são o botão para baixo e botão de mensagens geradas pelo primeiro clique. O segundo clique gera a mensagem de clique duplo seguida por outro botão mensagem. Por exemplo, clicando duas vezes no botão esquerdo do mouse gera a seguinte seqüência de mensagem:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

Porque uma janela sempre recebe um botão pressionado mensagem antes de receber uma mensagem de clique duplo, um aplicativo normalmente usa uma mensagem de clique duplo para estender uma tarefa começou durante um botão pressionado mensagem. Por exemplo, quando o usuário clica em uma cor na paleta de cores do Microsoft Paint, Paint exibe a cor selecionada junto à paleta. Quando o usuário clica Duplo em uma cor, pintura exibe a cor e abre a caixa de diálogo Editarcores .

Index