Condividi tramite


Metodo IPointerInactive::OnInactiveSetCursor (ocidl.h)

Imposta il puntatore del mouse per un oggetto inattivo. Questo metodo viene chiamato dal contenitore per la ricezione di un metodo WM_SETCURSOR quando un oggetto inattivo è sotto il puntatore del mouse.

Sintassi

HRESULT OnInactiveSetCursor(
  [in] LPCRECT pRectBounds,
  [in] LONG    x,
  [in] LONG    y,
  [in] DWORD   dwMouseMsg,
  [in] BOOL    fSetAlways
);

Parametri

[in] pRectBounds

Rettangolo di selezione dell'oggetto specificato nelle unità di coordinate client della finestra contenente. Questo parametro indica all'oggetto la posizione esatta e la dimensione sullo schermo quando è stato ricevuto il messaggio di WM_SETCURSOR. Questo valore viene specificato in unità del sistema di coordinate del client.

[in] x

Coordinata orizzontale della posizione del mouse in unità della finestra contenente il client.

[in] y

Coordinata verticale della posizione del mouse in unità della finestra contenente il client.

[in] dwMouseMsg

Identificatore del messaggio del mouse per il quale si è verificato un WM_SETCURSOR.

[in] fSetAlways

Se questo valore è TRUE, l'oggetto deve impostare il cursore; se questo valore è FALSE, l'oggetto non è obbligato a impostare il cursore e deve restituire S_FALSE in questo caso.

Valore restituito

Questo metodo può restituire il valore restituito standard E_FAIL, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
Il puntatore del mouse è stato impostato correttamente.
S_FALSE
L'oggetto non ha impostato il cursore; il contenitore deve impostare di nuovo il cursore o chiamare di nuovo l'oggetto con il parametro fSetAlways impostato su TRUE.

Commenti

Il contenitore chiama questo metodo per impostare il puntatore del mouse su un oggetto inattivo dopo aver controllato il criterio di attivazione dell'oggetto chiamando il metodo IPointerInactive::GetActivationPolicy . Se l'oggetto non ha richiesto di essere attivato sul posto tramite tale chiamata, il contenitore invia messaggi successivi WM_SETCURSOR all'oggetto inattivo chiamando OnInactiveSetCursor finché il puntatore del mouse rimane sull'oggetto.

Per evitare errori di arrotondamento e per semplificare il processo sull'implementazione dell'oggetto, questo metodo accetta le coordinate delle finestre nelle unità della finestra client contenente, ovvero la finestra in cui viene visualizzato l'oggetto, anziché le normali unità HIMETRIC . Pertanto, le stesse coordinate e il percorso del codice possono essere usate quando l'oggetto è attivo e inattivo. Le coordinate della finestra specificano la posizione del mouse. Il rettangolo di selezione viene specificato anche nello stesso sistema di coordinate.

OnInactiveSetCursor accetta un parametro aggiuntivo, fSetAlways, che indica se l'oggetto è obbligato a impostare il cursore o meno. I contenitori devono prima chiamare questo metodo con questo parametro FALSE. L'oggetto può restituire S_FALSE per indicare che non è stato impostato il cursore. In tal caso, il contenitore deve impostare il cursore stesso oppure, se non vuole eseguire questa operazione, chiamare nuovamente il metodo OnInactiveSetCursor con fSetAlways come TRUE.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ocidl.h

Vedi anche

IPointerInactive