Einzelnen Beitrag anzeigen

Bünni

Registriert seit: 4. Mär 2019
67 Beiträge
 
#1

FormBeforeMonitorDpiChanged kommt nachdem DPI verändert wurde

  Alt 13. Apr 2019, 19:42
Bei einem aktuellen Problem versuche ich auf DPI-Veränderungen zu reagieren.

Mit procedure WMDPIChanged(var msg: TMessage); message WM_DPICHANGED; funktioniert das. Aber ich da kann ich beim Monitorwechsel immer nur die neue DPI abfragen und nicht die vorherige.

Deswegen habe ich mir als Test in das FormBeforeMonitorDpiChanged Event eine showmessage geschrieben ShowMessage(Form1.Monitor.PixelsPerInch.ToString); um damit die DPI anzeigen zu lassen, bevor sie verändert wird. Aber die showmessage wird erst angezeigt, wenn die DPI schon verändert wurde.

Ist das ein Fehler? Das Event heißt schließlich FormBeforeMonitorDpiChanged.

Gibt es eine andere Möglichkeit mittels WMDPIChanged die alte DPI auszulesen? In msg.WParam steht leider nur die neue.
  Mit Zitat antworten Zitat