Beispiel #1
0
 private void WmNCCalcSize(ref Message m)
 {
     if (m.WParam == HeaderPanelNativeMethods.FALSE)
     {
         HeaderPanelNativeMethods.RECT ncRect = (HeaderPanelNativeMethods.RECT)m.GetLParam(typeof(HeaderPanelNativeMethods.RECT));
         Rectangle proposed = ncRect.Rect;
         RecalcNonClientArea(ref proposed);
         ncRect = HeaderPanelNativeMethods.RECT.FromRectangle(proposed);
         Marshal.StructureToPtr(ncRect, m.LParam, false);
     }
     else if (m.WParam == HeaderPanelNativeMethods.TRUE)
     {
         HeaderPanelNativeMethods.NCCALCSIZE_PARAMS ncParams =
             (HeaderPanelNativeMethods.NCCALCSIZE_PARAMS)m.GetLParam(typeof(HeaderPanelNativeMethods.NCCALCSIZE_PARAMS));
         Rectangle proposed = ncParams.rectProposed.Rect;
         RecalcNonClientArea(ref proposed);
         ncParams.rectProposed = HeaderPanelNativeMethods.RECT.FromRectangle(proposed);
         Marshal.StructureToPtr(ncParams, m.LParam, false);
     }
     m.Result = IntPtr.Zero;
 }