/// <summary> /// Message handler of the Per_Monitor_DPI_Aware window. /// The handles the WM_DPICHANGED message and adjusts window size, graphics and text based on the DPI of the monitor. /// The window message provides the new window size (lparam) and new DPI (wparam) /// See /// <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dn312083(v=vs.85).aspx">WM_DPICHANGED message</a> /// </summary> /// <param name="hWnd">IntPtr with the hWnd</param> /// <param name="msg">The Windows message</param> /// <param name="wParam">IntPtr</param> /// <param name="lParam">IntPtr</param> /// <param name="handled">ref bool</param> /// <returns>IntPtr</returns> internal IntPtr HandleWindowMessages(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { if (HandleWindowMessages(WindowMessageInfo.Create(hWnd, msg, wParam, lParam))) { handled = true; } return(IntPtr.Zero); }
/// <summary> /// Override the WndProc to make sure the DpiHandler is informed of the WM_NCCREATE message /// </summary> /// <param name="m">Message</param> protected override void WndProc(ref Message m) { bool handled = FormDpiHandler.HandleWindowMessages(WindowMessageInfo.Create(m.HWnd, m.Msg, m.WParam, m.LParam)); if (!handled) { base.WndProc(ref m); } }