Messaggi client Area Mouse

Una finestra riceve un messaggio di zona cliente quando si verifica un evento del mouse nell'area client della finestra. Il sistema invia il messaggio WM_MOUSEMOVE alla finestra quando l'utente sposta il cursore all'interno dell'area client. Uno dei messaggi seguenti i messaggi quando l'utente preme o rilascia un pulsante del mouse mentre il cursore all'interno dell'area client.

Messaggio Significato
WM_LBUTTONDBLCLK Pulsante sinistro del mouse stato doppio clic.
WM_LBUTTONDOWN stato premuto il pulsante sinistro del mouse.
WM_LBUTTONUP stato rilasciato il pulsante sinistro del mouse.
WM_MBUTTONDBLCLK Il pulsante centrale del mouse stato doppio clic.
WM_MBUTTONDOWN stato premuto il pulsante centrale del mouse.
WM_MBUTTONUP stato rilasciato il pulsante centrale del mouse.
WM_RBUTTONDBLCLK Pulsante destro del mouse stato doppio clic.
WM_RBUTTONDOWN stato premuto il pulsante destro del mouse.
WM_RBUTTONUP stato rilasciato il pulsante destro del mouse.

Parametri del messaggio

Il parametro lParam di un messaggio di zona cliente indica la posizione del punto caldo del cursore. La parola di ordine inferiore indica la coordinata x dell'area sensibile, e la parola di ordine superiore indica la coordinata y. Le coordinate vengono fornite in coordinate del client. Nel sistema di coordinate client, tutti i punti sullo schermo sono date relative alle coordinate dell'angolo superiore sinistro dell'area client (0,0).

Il parametro wParam contiene flag che indicano lo stato di altri pulsanti del mouse e tasti MAIUSC e ctrl al momento dell'evento del mouse. possibile verificare questi flag quando elaborazione del messaggio del mouse dipende lo stato di un altro pulsante del mouse o del ctrl o Maiusc. Il parametro lParam pu essere una combinazione dei seguenti valori.

Valore Significato
MK_CONTROL Il tasto ctrl premuto.
MK_LBUTTON Pulsante sinistro del mouse premuto.
MK_MBUTTON Il pulsante centrale del mouse premuto.
MK_RBUTTON Pulsante destro del mouse premuto.
MK_SHIFT Il tasto MAIUSC premuto.

Fare doppio clic su messaggi

Il sistema genera un messaggio di doppio clic quando l'utente fa clic su un pulsante del mouse due volte in rapida successione. Quando l'utente fa clic su un pulsante, il sistema stabilisce un rettangolo centrato il punto caldo del cursore. Essa segna anche il tempo in cui si verificato il clic. Quando l'utente fa clic sul pulsante stesso una seconda volta, il sistema determina se il punto caldo ancora all'interno del rettangolo e calcola che il tempo trascorso dal primo click. Se il punto caldo ancora all'interno del rettangolo e il tempo trascorso non ha superato il valore di timeout del doppio clic, il sistema genera un messaggio di doppio clic.

Un'applicazione pu ottenere e impostare i valori di timeout doppio clic utilizzando le funzioni GetDoubleClickTime e SetDoubleClickTime , rispettivamente. In alternativa, l'applicazione pu impostare il valore di timeout del doppio clic utilizzando il flag SPI_SETDOUBLECLICKTIME con la funzione SystemParametersInfo . Inoltre possibile impostare le dimensioni del rettangolo che il sistema utilizza per rilevare doppio clic passando i flag SPI_SETDOUBLECLKWIDTH e SPI_SETDOUBLECLKHEIGHT a SystemParametersInfo. Notare, tuttavia, che l'impostazione del valore di timeout del doppio clic e rettangolo influenza tutte le applicazioni.

Una finestra di applicazione definito non, per impostazione predefinita, ricevere messaggi di doppio clic. A causa dell'overhead di sistema coinvolto nella generazione di fare doppio clic su messaggi, questi messaggi vengono generati solo per windows appartenendo a classi che hanno lo stile di classe CS_DBLCLKS. L'applicazione deve impostare questo stile quando si registra la classe finestra. Per ulteriori informazioni, vedere Classi di finestre.

Un messaggio di doppio clic sempre il terzo messaggio in una serie di quattro-messaggio. I primi due messaggi sono il pulsante in basso e il pulsante i messaggi generati dal primo click. Secondo clic genera il messaggio di doppio clic, seguito da un altro pulsante messaggio. Ad esempio, facendo doppio clic sul pulsante sinistro del mouse genera la seguente sequenza di messaggio:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

Perch una finestra riceve sempre un pulsante gi il messaggio prima di ricevere un messaggio di doppio clic, un'applicazione utilizza in genere un fare doppio clic sul messaggio di estendere un'attivit che essa inizi durante un pulsante gi il messaggio. Ad esempio, quando l'utente fa clic su un colore nella tavolozza dei colori di Microsoft Paint, Paint Visualizza il colore selezionato accanto alla tavolozza. Quando l'utente fa doppio clic su un colore, vernice Visualizza il colore e si apre la finestra di dialogo Modificacolori .

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index