/// <summary> /// </summary> /// <param name = "SplitContainer"></param> private void addSplitterControl() { Splitter newSplitter = null; newSplitter = new Splitter(); //newSplitter.MouseDown += new MouseEventHandler(newSplitter_MouseDown); GuiUtilsBase.CreateTagData(newSplitter); if (SplitterStyle == SPLITTER_STYLE_HORIZONTAL) { #if !PocketPC newSplitter.Cursor = Cursors.VSplit; #endif newSplitter.Dock = DockStyle.Left; } else { #if !PocketPC newSplitter.Cursor = Cursors.HSplit; #endif newSplitter.Dock = DockStyle.Top; } SplitterHandler.getInstance().addHandler(newSplitter); newSplitter.MinExtra = 0; newSplitter.MinSize = 0; Controls.Add(newSplitter); Splitters.Add(newSplitter); }
/// <summary> /// handle the resize of the splitter, need to re paint the 4 prev pix /// </summary> /// <param name = "event"> /// </param> internal void onResize() { MgSplitContainer mgSahsForm = this; TagData tagData = null; for (int i = 0; i < mgSahsForm.Splitters.Count; i++) { Splitter splitter = mgSahsForm.Splitters[i]; tagData = ((TagData)splitter.Tag); if (tagData.RepaintRect != null) { Rectangle paintRect = (Rectangle)tagData.RepaintRect; Rectangle drawRect = new Rectangle(); if (mgSahsForm.getOrientation() == SPLITTER_STYLE_VERTICAL) { drawRect = new Rectangle(paintRect.Width - 3, 0, 3, paintRect.Height); } else { drawRect = new Rectangle(0, paintRect.Height - 3, paintRect.Width, 3); } splitter.Invalidate(drawRect, true); tagData.RepaintRect = null; } } if (((TagData)mgSahsForm.Tag).RepaintRect != null) { tagData = ((TagData)mgSahsForm.Tag); Rectangle paintRect = (Rectangle)tagData.RepaintRect; paintRect.Width = Math.Min(paintRect.Width, mgSahsForm.Bounds.Width); paintRect.Height = Math.Min(paintRect.Height, mgSahsForm.Bounds.Height); Rectangle drawRect = new Rectangle(); drawRect = new Rectangle(paintRect.Width - 3, 0, 3, paintRect.Height); mgSahsForm.Invalidate(drawRect, true); drawRect = new Rectangle(0, paintRect.Height - 3, paintRect.Width, 3); mgSahsForm.Invalidate(drawRect, true); tagData.RepaintRect = null; } }