public override object Clone()
        {
            RibbonBarItem baseItem = new RibbonBarItem();

            baseItem.Checked           = this.Checked;
            baseItem.Enabled           = this.Enabled;
            baseItem.Font              = this.Font;
            baseItem.ForeColor         = this.ForeColor;
            baseItem.Name              = this.Name;
            baseItem.Site              = this.Site;
            baseItem.Size              = this.Size;
            baseItem.Tag               = this.Tag;
            baseItem.Text              = this.Text;
            baseItem.Image             = this.Image;
            baseItem.LeftBottomRadius  = this.LeftBottomRadius;
            baseItem.LeftTopRadius     = this.LeftTopRadius;
            baseItem.Padding           = this.Padding;
            baseItem.RightBottomRadius = this.RightBottomRadius;
            baseItem.RightTopRadius    = this.RightTopRadius;
            baseItem.ShowNomalState    = this.ShowNomalState;
            baseItem.Visible           = this.Visible;
            //
            baseItem.ColumnDistance  = this.ColumnDistance;
            baseItem.GlyphEnabled    = this.GlyphEnabled;
            baseItem.GlyphVisible    = this.GlyphVisible;
            baseItem.IsStretchItems  = this.IsStretchItems;
            baseItem.IsRestrictItems = this.IsRestrictItems;
            baseItem.PopupSpace      = this.PopupSpace;
            foreach (BaseItem one in this.BaseItems)
            {
                baseItem.BaseItems.Add(one.Clone() as BaseItem);
            }
            if (this.GetEventState("VisibleChanged") == EventStateStyle.eUsed)
            {
                baseItem.VisibleChanged += new EventHandler(baseItem_VisibleChanged);
            }
            if (this.GetEventState("SizeChanged") == EventStateStyle.eUsed)
            {
                baseItem.SizeChanged += new EventHandler(baseItem_SizeChanged);
            }
            if (this.GetEventState("Paint") == EventStateStyle.eUsed)
            {
                baseItem.Paint += new PaintEventHandler(baseItem_Paint);
            }
            if (this.GetEventState("MouseUp") == EventStateStyle.eUsed)
            {
                baseItem.MouseUp += new MouseEventHandler(baseItem_MouseUp);
            }
            if (this.GetEventState("MouseMove") == EventStateStyle.eUsed)
            {
                baseItem.MouseMove += new MouseEventHandler(baseItem_MouseMove);
            }
            if (this.GetEventState("MouseLeave") == EventStateStyle.eUsed)
            {
                baseItem.MouseLeave += new EventHandler(baseItem_MouseLeave);
            }
            if (this.GetEventState("MouseEnter") == EventStateStyle.eUsed)
            {
                baseItem.MouseEnter += new EventHandler(baseItem_MouseEnter);
            }
            if (this.GetEventState("MouseDown") == EventStateStyle.eUsed)
            {
                baseItem.MouseDown += new MouseEventHandler(baseItem_MouseDown);
            }
            if (this.GetEventState("MouseDoubleClick") == EventStateStyle.eUsed)
            {
                baseItem.MouseDoubleClick += new MouseEventHandler(baseItem_MouseDoubleClick);
            }
            if (this.GetEventState("MouseClick") == EventStateStyle.eUsed)
            {
                baseItem.MouseClick += new MouseEventHandler(baseItem_MouseClick);
            }
            if (this.GetEventState("LocationChanged") == EventStateStyle.eUsed)
            {
                baseItem.LocationChanged += new EventHandler(baseItem_LocationChanged);
            }
            if (this.GetEventState("EnabledChanged") == EventStateStyle.eUsed)
            {
                baseItem.EnabledChanged += new EventHandler(baseItem_EnabledChanged);
            }
            if (this.GetEventState("CheckedChanged") == EventStateStyle.eUsed)
            {
                baseItem.CheckedChanged += new EventHandler(baseItem_CheckedChanged);
            }
            if (this.GetEventState("PopupOpened") == EventStateStyle.eUsed)
            {
                baseItem.PopupOpened += new EventHandler(baseItem_PopupOpened);
            }
            if (this.GetEventState("PopupClosed") == EventStateStyle.eUsed)
            {
                baseItem.PopupClosed += new EventHandler(baseItem_PopupClosed);
            }
            if (this.GetEventState("GlyphMouseDown") == EventStateStyle.eUsed)
            {
                baseItem.GlyphMouseDown += new MouseEventHandler(baseItem_GlyphMouseDown);
            }
            if (this.GetEventState("GlyphMouseMove") == EventStateStyle.eUsed)
            {
                baseItem.GlyphMouseMove += new MouseEventHandler(baseItem_GlyphMouseMove);
            }
            if (this.GetEventState("GlyphMouseUp") == EventStateStyle.eUsed)
            {
                baseItem.GlyphMouseUp += new MouseEventHandler(baseItem_GlyphMouseUp);
            }
            if (this.GetEventState("GlyphMouseClick") == EventStateStyle.eUsed)
            {
                baseItem.GlyphMouseClick += new MouseEventHandler(baseItem_GlyphMouseClick);
            }
            if (this.GetEventState("GlyphMouseDoubleClick") == EventStateStyle.eUsed)
            {
                baseItem.GlyphMouseDoubleClick += new MouseEventHandler(baseItem_GlyphMouseDoubleClick);
            }
            return(baseItem);
        }
示例#2
0
        private void SetRibbonBarMinState()
        {
            int iTemp = 0;
            //
            int           iLength            = 0;
            int           iMinWith           = 0;//待调整对象的 最小化 宽度
            int           iWidth             = 0;
            int           iItemsWidth        = 0;
            RibbonBarItem ribbonBarItem      = null;
            RibbonBarItem ribbonBarItemMin   = null;
            RibbonBarItem ribbonBarItemNomal = null;

            foreach (BaseItem one in this.BaseItems)
            {
                iLength += one.Width;
                //
                ribbonBarItem = one as RibbonBarItem;
                if (ribbonBarItem == null)
                {
                    continue;
                }
                iTemp = ribbonBarItem.Width;
                if (iWidth == 0)
                {
                    iWidth = iTemp;
                }
                if (iWidth <= iTemp)
                {
                    iWidth = iTemp; ribbonBarItemNomal = ribbonBarItem;
                }
                if (ribbonBarItem.IsMinState)
                {
                    iTemp = ribbonBarItem.GetItemsSize().Width;
                    if (iItemsWidth == 0)
                    {
                        iItemsWidth = iTemp;
                    }
                    if (iItemsWidth >= iTemp)
                    {
                        iItemsWidth = iTemp; iMinWith = ribbonBarItem.Width; ribbonBarItemMin = ribbonBarItem;
                    }
                }
                else
                {
                    iTemp = ribbonBarItem.Width;
                    if (iWidth == 0)
                    {
                        iWidth = iTemp;
                    }
                    if (iWidth <= iTemp)
                    {
                        iWidth = iTemp; ribbonBarItemNomal = ribbonBarItem;
                    }
                }
            }
            if (iLength > this.Width)
            {
                if (ribbonBarItemNomal != null)
                {
                    ISetRibbonBarHelper pSetRibbonBarHelper = ribbonBarItemNomal as ISetRibbonBarHelper;
                    if (pSetRibbonBarHelper != null)
                    {
                        pSetRibbonBarHelper.SetIsMinState(true);
                    }
                }
                //GISShare.Controls.WinForm.WFNew.Forms.TBMessageBox.Show(iLength + "    " + this.Width);
            }
            else if ((this.Width - iLength) > (iItemsWidth - iMinWith + this.PreButtonRectangle.Width))
            {
                if (ribbonBarItemMin != null)
                {
                    ISetRibbonBarHelper pSetRibbonBarHelper = ribbonBarItemMin as ISetRibbonBarHelper;
                    if (pSetRibbonBarHelper != null)
                    {
                        pSetRibbonBarHelper.SetIsMinState(false);
                    }
                }
            }
        }