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 GDI di Windows, nell'argomento monitor multipli. Queste funzioni restituiscono handle di HMONITOR. Nonostante il nome, tuttavia, un handle di HMONITOR può essere associato a più monitor fisici. Per configurare le impostazioni su un monitor, l'applicazione deve ottenere un handle univoco al monitor fisico chiamando GetPhysicalMonitorsFromHMONITOR.
Se l'applicazione usa Direct3D, è possibile ottenere un handle di monitoraggio da un dispositivo Direct3D chiamando GetPhysicalMonitorsFromIDirect3DDevice9.
Funzioni supportate
Un monitor potrebbe non supportare tutte le funzioni di configurazione del monitor. Per scoprire quali funzioni supporta un monitor, chiamare GetMonitorCapabilities.
Impostazioni di monitoraggio continuo
Un'impostazione di monitoraggio continua è una che può variare tra un valore minimo e un valore 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 essere molto più luminoso di un altro. In genere, un'applicazione presenterà controlli a cursore o controlli di incremento/decremento all'utente. L'utente può quindi regolare le impostazioni per dare la migliore qualità soggettiva.
Modifiche apportate 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, la frequenza di aggiornamento o la profondità del bit del monitor.
- 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 le impostazioni di guida e guadagno, e vale anche il contrario. 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 imposta l'ultimo codice di 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 regolare l'impostazione usando il controllo del pannello anteriore.
- Chiamare la funzione RestoreMonitorFactoryDefaults. Se un monitor ha il flag di funzionalità MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS, questa funzione abilita tutte le impostazioni del monitor supportate dalle funzioni del monitor ad alto livello. Sfortunatamente, la funzione reimposta anche le impostazioni del monitor sui valori predefiniti di fabbrica.
Argomenti correlati