Esempio n. 1
0
        protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
            case NativeWindowCommon.WM_VSCROLL:
            case NativeWindowCommon.WM_HSCROLL:
                //keep all FitToMDI children at location 0,0 even after scroll
                foreach (var item in mdiClient.MdiChildren)
                {
                    TagData tagData = item.Tag as TagData;
                    if (tagData != null && (tagData.WindowType == WindowType.FitToMdi || tagData.IsMDIClientForm))
                    {
                        item.Location = new Point();
                    }
                }
                mdiClient.Invalidate();
                break;

            case NativeWindowCommon.WM_PAINT:
                using (Graphics gr = Graphics.FromHwnd(mdiClient.Handle))
                {
                    //Paint the mdiClient its children, background image, border etc.
                    ControlRenderer.PaintMgPanel(mdiClient, gr);
                    NativeWindowCommon.ValidateRect(mdiClient.Handle, IntPtr.Zero);
                }
                return;

            default:
                break;
            }
            base.WndProc(ref m);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        internal static void MgPanel_Paint(object sender, PaintEventArgs e)
        {
            Control ctrl = sender as MgPanel;

            // for mgpanel with parent MgTabPage set paint event
            if (ctrl is MgPanel && ctrl.Parent is MgTabPage)
            {
                MgPanel senderMgPanel = (MgPanel)sender;
                ControlRenderer.FillRectAccordingToGradientStyle(((PaintEventArgs)e).Graphics, senderMgPanel.ClientRectangle, senderMgPanel.BackColor,
                                                                 senderMgPanel.ForeColor, ControlStyle.NoBorder, false, senderMgPanel.GradientColor,
                                                                 senderMgPanel.GradientStyle);
            }
            else
            {
                ControlRenderer.PaintMgPanel(ctrl, e.Graphics);
            }
        }