Uso delle funzioni di configurazione di High-Level Monitor
Enumerazione dei monitoraggi fisici
Esistono diverse funzioni che enumerano i dispositivi di visualizzazione, tra cui EnumDisplayMonitors e MonitorFromWindow. Queste funzioni sono documentate nella documentazione di Windows GDI, nell'argomento Più monitoraggi visualizzati. Queste funzioni restituiscono handle HMONITOR . Nonostante il nome, tuttavia, un handle HMONITOR può essere associato a più monitor fisici. Per configurare le impostazioni in un monitor, l'applicazione deve ottenere un handle univoco per il monitoraggio fisico chiamando GetPhysicalMonitorsFromHMONITOR.
Se l'applicazione usa Direct3D, è possibile ottenere un handle di monitoraggio da un dispositivo Direct3D chiamando GetPhysicalMonitorsFromIDirect3DDevice9.
Funzioni supportate
Un monitoraggio potrebbe non supportare tutte le funzioni di configurazione del monitoraggio. Per scoprire quali funzioni supportano un monitoraggio, chiamare GetMonitorCapabilities.
Impostazioni monitoraggio continuo
Un'impostazione di monitoraggio continuo è una che può variare tra un valore minimo e quello massimo. La maggior parte delle funzioni di configurazione di monitoraggio di alto livello controlla le impostazioni di monitoraggio continuo. Ad esempio, la luminosità e il contrasto sono impostazioni continue.
Le impostazioni di monitoraggio continuo non hanno unità reali definite. Le unità sono arbitrarie e possono variare da un produttore a un altro. Se due monitor hanno lo stesso valore di luminosità, ad esempio, un monitor potrebbe sembrare molto più luminoso di un altro. In genere, un'applicazione presenterà controlli dispositivo di scorrimento o controlli di scorrimento verso l'alto all'utente. L'utente può quindi modificare le impostazioni per offrire la migliore qualità soggettiva.
Modifiche allo stato del monitoraggio
Un monitoraggio può modificare gli stati per diversi motivi, tra cui:
- L'utente modifica le impostazioni con i controlli del pannello anteriore del monitor.
- L'utente modifica la risoluzione dello schermo del monitoraggio, la frequenza di aggiornamento o la profondità di bit.
- L'applicazione usa le funzioni di monitoraggio di basso livello per modificare un'impostazione non accessibile dalle funzioni di alto livello.
- L'applicazione chiama RestoreMonitorFactoryColorDefaults o RestoreMonitorFactoryDefaults.
Tutti questi eventi possono modificare le impostazioni di monitoraggio. Possono anche modificare il valore minimo e massimo di un'impostazione.
Dipendenze tra le impostazioni di monitoraggio
La modifica della temperatura del colore può modificare l'unità corrente e ottenere le impostazioni e anche il contrario è true. Si tratta delle uniche dipendenze tra le funzioni di configurazione di monitoraggio di alto livello. Altre impostazioni potrebbero essere accessibili solo tramite le funzioni di monitoraggio di basso livello. Potrebbero esserci dipendenze tra queste impostazioni e le impostazioni di alto livello. Queste dipendenze sono specifiche del fornitore. Un'applicazione può gestire questo problema in diversi modi:
- Usare solo funzioni di alto livello.
- Dopo aver chiamato una funzione di basso livello, ottenere il valore corrente di ogni impostazione di monitoraggio. Sfortunatamente, questo approccio può essere lento, perché l'acquisizione di ogni impostazione richiede circa 40 millisecondi.
- Usare funzioni di basso livello solo con modelli di monitoraggio specifici il cui comportamento è comprensibile.
Impostazioni di monitoraggio disabilitate
Un'applicazione non può disabilitare le impostazioni di monitoraggio chiamando le funzioni di monitoraggio di alto livello. Tuttavia, un'applicazione potrebbe disabilitare accidentalmente un'impostazione se usa le funzioni di basso livello per modificare un'impostazione di monitoraggio non supportata dalle funzioni di alto livello. Inoltre, un utente potrebbe disabilitare un'impostazione usando il controllo del pannello anteriore. Questi comportamenti sono specifici del fornitore.
Se un'impostazione di monitoraggio diventa disabilitata, qualsiasi funzione che imposta o recupera tale impostazione avrà esito negativo e imposterà il codice dell'ultimo errore su ERROR_DISABLED_MONITOR_SETTING. In questo caso, l'applicazione può eseguire una delle operazioni seguenti:
- Visualizzare un messaggio di errore e suggerire all'utente di provare a modificare l'impostazione usando il controllo del pannello anteriore.
- Chiamare la funzione RestoreMonitorFactoryDefaults . Se un monitoraggio ha il flag di funzionalità MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS, questa funzione abilita tutte le impostazioni di monitoraggio supportate dalle funzioni di monitoraggio di alto livello. Sfortunatamente, la funzione reimposta anche le impostazioni di monitoraggio sul valore predefinito di factory.
Argomenti correlati