Fensterposition und Windows Einrastfunktion
Verfasst: 07.09.2020 10:45
Ich speichere bei meinem Programm die Fensterposition, -größe und Zustand (Min/Max). Dafür verwende ich die API-Funktionen Get/SetWindowPlacement_(). Wenn man aber ein Fenster mit den 'Einrastfunktionen' von Windows vergrößert, z.B. Windows-Taste + Cursor Links, sind die ermittelten Werte, die Werte vor dem Einrasten. Ist irgendwie logisch, da das Fenster ja auch wieder in der ursprünglichen Größe wiederhergestellt werden kann.
Kann man die eingerastete Fensterposition und -größe ermitteln?
Peter
Edit: Also mit den PB WindowX/Y/Width/Height-Funktionen funktioniert es schon, aber diese Werte stimmen nicht ganz, darum verwende ich die API-Funktionen.
Mit WindowX(#Window, #PB_Window_FrameCoordinate) bekomme ich 5, obwohl das Fenster ganz links am Bildschirmrand steht. Mit SetWindowPlacement_() bekomme ich 0, bei Windows 10 ist es -6, wegen den Fensterschatten, aber das kann ich berücksichtigen bzw. berechnen mit DwmGetWindowAttribute.
Kann man die eingerastete Fensterposition und -größe ermitteln?
Peter
Edit: Also mit den PB WindowX/Y/Width/Height-Funktionen funktioniert es schon, aber diese Werte stimmen nicht ganz, darum verwende ich die API-Funktionen.
Mit WindowX(#Window, #PB_Window_FrameCoordinate) bekomme ich 5, obwohl das Fenster ganz links am Bildschirmrand steht. Mit SetWindowPlacement_() bekomme ich 0, bei Windows 10 ist es -6, wegen den Fensterschatten, aber das kann ich berücksichtigen bzw. berechnen mit DwmGetWindowAttribute.