Verwenden der High-Level Monitor-Konfigurationsfunktionen
Auflisten physischer Monitore
Es gibt mehrere Funktionen, die Anzeigegeräte auflisten, einschließlich EnumDisplayMonitors und MonitorFromWindow. Diese Funktionen sind in der Windows GDI-Dokumentation unter dem Thema Mehrere Anzeigemonitore dokumentiert. Diese Funktionen geben HMONITOR-Handles zurück. Trotz des Namens kann ein HMONITOR-Handle jedoch mehreren physischen Monitoren zugeordnet werden. Zum Konfigurieren der Einstellungen auf einem Monitor muss die Anwendung durch Aufrufen von GetPhysicalMonitorsFromHMONITOR ein eindeutiges Handle für den physischen Monitor abrufen.
Wenn Ihre Anwendung Direct3D verwendet, können Sie ein Monitorhandle von einem Direct3D-Gerät abrufen, indem Sie GetPhysicalMonitorsFromIDirect3DDevice9 aufrufen.
Unterstützte Funktionen
Ein Monitor unterstützt möglicherweise nicht alle Überwachungskonfigurationsfunktionen. Rufen Sie GetMonitorCapabilities auf, um herauszufinden, welche Funktionen ein Monitor unterstützt.
Einstellungen für fortlaufenden Monitor
Eine Einstellung für einen kontinuierlichen Monitor kann zwischen einem minimalen und einem maximalen Wert liegen. Die meisten der allgemeinen Überwachungskonfigurationsfunktionen steuern die Einstellungen für fortlaufende Monitore. Helligkeit und Kontrast sind beispielsweise kontinuierliche Einstellungen.
Die Einstellungen für fortlaufende Überwachung verfügen nicht über definierte reale Einheiten. Die Einheiten sind beliebig und können von Hersteller zu Hersteller variieren. Wenn z. B. zwei Monitore denselben Helligkeitswert haben, sieht ein Monitor möglicherweise viel heller aus als ein anderer. In der Regel stellt eine Anwendung dem Benutzer Schiebereglersteuerelemente oder Up-Down-Steuerelemente vor. Der Benutzer kann dann die Einstellungen anpassen, um die beste subjektive Qualität zu erzielen.
Änderungen im Überwachungszustand
Ein Monitor kann den Status aus verschiedenen Gründen ändern, z. B.:
- Der Benutzer ändert die Einstellungen mit den Frontpanel-Steuerelementen des Monitors.
- Der Benutzer ändert die Bildschirmauflösung, Aktualisierungsrate oder Bittiefe des Monitors.
- Die Anwendung verwendet die Monitorfunktionen auf niedriger Ebene, um eine Einstellung zu ändern, auf die nicht über die allgemeinen Funktionen zugegriffen werden kann.
- Die Anwendung ruft RestoreMonitorFactoryColorDefaults oder RestoreMonitorFactoryDefaults auf.
Alle diese Ereignisse können die Überwachungseinstellungen ändern. Sie können auch den minimalen und maximalen Wert einer Einstellung ändern.
Abhängigkeiten zwischen Den Monitoreinstellungen
Das Ändern der Farbtemperatur kann die aktuellen Laufwerks- und Verstärkungseinstellungen ändern, und das Umgekehrte trifft ebenfalls zu. Dies sind die einzigen Abhängigkeiten der allgemeinen Überwachungskonfigurationsfunktionen. Auf andere Einstellungen kann möglicherweise nur über die Low-Level-Monitorfunktionen zugegriffen werden. Es kann Abhängigkeiten zwischen diesen Einstellungen und den allgemeinen Einstellungen geben. Diese Abhängigkeiten sind herstellerspezifisch. Eine Anwendung kann dieses Problem auf verschiedene Arten behandeln:
- Verwenden Sie nur allgemeine Funktionen.
- Rufen Sie nach dem Aufrufen einer Funktion auf niedriger Ebene den aktuellen Wert jeder Monitoreinstellung ab. Leider kann dieser Ansatz langsam sein, da das Abrufen jeder Einstellung etwa 40 Millisekunden dauert.
- Verwenden Sie Funktionen auf niedriger Ebene nur mit bestimmten Überwachungsmodellen, deren Verhalten Sie verstehen.
Deaktivierte Monitoreinstellungen
Eine Anwendung kann keine Überwachungseinstellungen deaktivieren, indem sie die allgemeinen Überwachungsfunktionen aufruft. Eine Anwendung kann jedoch versehentlich eine Einstellung deaktivieren, wenn sie die Funktionen auf niedriger Ebene verwendet, um eine Überwachungseinstellung zu ändern, die von den funktionen der allgemeinen Ebene nicht unterstützt wird. Außerdem kann ein Benutzer eine Einstellung mithilfe des Frontpanel-Steuerelements deaktivieren. Diese Verhaltensweisen sind herstellerspezifisch.
Wenn eine Überwachungseinstellung deaktiviert wird, schlägt jede Funktion, die diese Einstellung festlegt oder abruft, fehl, und der Code für den letzten Fehler wird auf ERROR_DISABLED_MONITOR_SETTING festgelegt. In diesem Fall kann die Anwendung eine der folgenden Aktionen ausführen:
- Zeigen Sie eine Fehlermeldung an, und schlagen Sie dem Benutzer vor, die Einstellung mithilfe des Frontpanel-Steuerelements anzupassen.
- Rufen Sie die RestoreMonitorFactoryDefaults-Funktion auf. Wenn ein Monitor über das Flag MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS Funktionen verfügt, aktiviert diese Funktion alle Überwachungseinstellungen, die von den allgemeinen Monitorfunktionen unterstützt werden. Leider setzt die Funktion auch die Monitoreinstellungen auf die Werkseinstellungen zurück.
Zugehörige Themen