Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta la trasformazione di input attiva corrente per input penna e tocco, rappresentata come rettangolo di origine e rettangolo di destinazione.
Sintassi
BOOL MagSetInputTransform(
[in] BOOL fEnabled,
[in] const LPRECT pRectSource,
[in] const LPRECT pRectDest
);
Parametri
[in] fEnabled
Tipo: BOOL
TRUE per abilitare la trasformazione dell'input o FALSE per disabilitarla.
[in] pRectSource
Tipo: const LPRECT
Il nuovo rettangolo di origine, in coordinate dello schermo non immaginate, che definisce l'area dello schermo da ingrandire. Questo parametro viene ignorato se bEnabled è FALSE.
[in] pRectDest
Tipo: const LPRECT
Il nuovo rettangolo di destinazione, in coordinate dello schermo non immaginate, che definisce l'area dello schermo in cui viene visualizzato il contenuto dello schermo con ingrandimento. L'input penna e tocco in questo rettangolo viene mappato al rettangolo di origine. Questo parametro viene ignorato se bEnabled è FALSE.
Valore restituito
Tipo: BOOL
Restituisce TRUE se l'operazione riesce o FALSE in caso contrario.
Commenti
La trasformazione di input esegue il mapping dello spazio delle coordinate del contenuto dello schermo di ingrandimento allo spazio delle coordinate dello schermo effettivo (non immaginato). In questo modo il sistema passa input penna e tocco immesso nel contenuto dello schermo ingrandito, all'elemento dell'interfaccia utente corretto sullo schermo. Ad esempio, senza la trasformazione di input, l'input viene passato all'elemento che si trova in corrispondenza delle coordinate dello schermo non immaginate, non all'elemento visualizzato nel contenuto della schermata di ingrandimento.
Questa funzione richiede che il processo chiamante disponga dei privilegi UIAccess. Se il chiamante non dispone di privilegi UIAccess, la chiamata a MagSetInputTransform ha esito negativo e la funzione GetLastError restituisce ERROR_ACCESS_DENIED. Per altre informazioni, vedere Automazione interfaccia utente Considerazioni sulla sicurezza e /MANIFESTUAC (incorpora informazioni sull'account utente nel manifesto).
A partire da Windows 10 Creators Update (versione 1703), è necessario usare la funzione MagSetInputTransform per indirizzare l'input del mouse all'elemento lente di ingrandimento (oltre all'input penna e tocco).
Esempio
Nell'esempio seguente viene impostata la trasformazione di input per il lente di ingrandimento a schermo intero.
// Description:
// Applies an input transformation to adjust pen and touch input to account
// for the current magnification factor.
//
BOOL SetInputTranform()
{
// Get the current magnification settings.
float magLevel;
int xOffset, yOffset;
BOOL fResult = MagGetFullscreenTransform(&magLevel, &xOffset, &yOffset);
if (fResult)
{
// Assume that pen or touch input occurs only in the primary monitor.
RECT rcDest;
rcDest.left = 0;
rcDest.top = 0;
rcDest.right = GetSystemMetrics(SM_CXSCREEN);
rcDest.bottom = GetSystemMetrics(SM_CYSCREEN);
// Calculate the portion of the screen that is visible in the magnified
// view.
RECT rcSource;
rcSource.left = xOffset;
rcSource.top = yOffset;
rcSource.right = rcSource.left + (int)(rcDest.right / magLevel);
rcSource.bottom = rcSource.top + (int)(rcDest.bottom / magLevel);
fResult = MagSetInputTransform(TRUE, &rcSource, &rcDest);
}
return fResult;
}
Requisiti
| Client minimo supportato | Windows 8 [solo app desktop] |
| Server minimo supportato | Windows Server 2012 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | magnification.h |
| Libreria | Ingrandimento.lib |
| DLL | Magnification.dll |