コード例 #1
0
        public override Size MeasureSize(Graphics g)//有待完善
        {
            if (this.eOrientation == Orientation.Horizontal)
            {
                return(base.MeasureSize(g));
            }
            //
            int       iWidth  = 0;
            int       iHeight = 0;
            SizeF     size;
            Rectangle rectangle;

            switch (this.eDisplayStyle)
            {
            case DisplayStyle.eText:
                size    = g.MeasureString(this.Text, this.Font);
                iWidth  = (int)(size.Height + 1);
                iHeight = (int)(size.Width + 1);
                break;

            case DisplayStyle.eImage:
                if (this.Image != null)
                {
                    rectangle = this.ImageRectangle;
                    iWidth   += rectangle.Width;
                    iHeight  += rectangle.Height;
                }
                break;

            case DisplayStyle.eImageAndText:
                size    = g.MeasureString(this.Text, this.Font);
                iWidth  = (int)(size.Height + 1);
                iHeight = (int)(size.Width + 1);
                if (this.Image != null)
                {
                    switch (this.ImageAlign)
                    {
                    case ContentAlignment.BottomLeft:
                    case ContentAlignment.BottomRight:
                    case ContentAlignment.TopLeft:
                    case ContentAlignment.TopRight:
                        rectangle = this.ImageRectangle;
                        iWidth   += rectangle.Width + this.ITSpace;
                        iHeight  += rectangle.Height;
                        break;

                    case ContentAlignment.BottomCenter:
                    case ContentAlignment.TopCenter:
                        iHeight += this.ImageRectangle.Height + this.ITSpace;
                        break;

                    case ContentAlignment.MiddleLeft:
                    case ContentAlignment.MiddleRight:
                        iWidth += this.ImageRectangle.Width + this.ITSpace;
                        break;

                    case ContentAlignment.MiddleCenter:
                        rectangle = this.ImageRectangle;
                        if (iWidth < rectangle.Width)
                        {
                            iWidth = rectangle.Width;
                        }
                        if (iHeight < rectangle.Height)
                        {
                            iHeight = rectangle.Height;
                        }
                        break;

                    default:
                        break;
                    }
                }
                break;

            default:
                break;
            }
            iWidth  += this.Padding.Left + this.Padding.Right;
            iHeight += this.Padding.Top + this.Padding.Bottom;
            //
            IContextPopupPanelItem pContextPopupPanelItem = this.pBaseItemOwner as IContextPopupPanelItem;

            if (pContextPopupPanelItem != null)
            {
                switch (pContextPopupPanelItem.eContextPopupStyle)
                {
                case ContextPopupStyle.eSuper:
                    iHeight = pContextPopupPanelItem.CheckRegionWidth > pContextPopupPanelItem.ImageRegionWidth ? pContextPopupPanelItem.CheckRegionWidth : pContextPopupPanelItem.ImageRegionWidth;
                    iWidth += pContextPopupPanelItem.CheckRegionWidth + pContextPopupPanelItem.ImageRegionWidth;
                    break;

                case ContextPopupStyle.eNormal:
                    iHeight = pContextPopupPanelItem.ImageRegionWidth;
                    iWidth += pContextPopupPanelItem.ImageRegionWidth;
                    break;

                case ContextPopupStyle.eSimply:
                default:
                    break;
                }
                iWidth += this.TextLeftSpace + this.TextRightSpace;
            }
            //
            if (iWidth < 16)
            {
                iWidth = 16;
            }
            if (iHeight < 16)
            {
                iHeight = 16;
            }
            //
            return(new Size(iWidth, iHeight));
        }
コード例 #2
0
        protected override void OnDraw(PaintEventArgs e)
        {
            GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderBaseButton(
                new GISShare.Controls.WinForm.ObjectRenderEventArgs(e.Graphics, this, this.DisplayRectangle));
            //
            IContextPopupPanelItem pContextPopupPanelItem = this.pBaseItemOwner as IContextPopupPanelItem;

            if (pContextPopupPanelItem != null)
            {
                switch (pContextPopupPanelItem.eContextPopupStyle)
                {
                case ContextPopupStyle.eSuper:
                case ContextPopupStyle.eNormal:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderContextPopupItemButtonChecked(
                        new GISShare.Controls.WinForm.CheckedRenderEventArgs(e.Graphics, this, this.Enabled, this.ForeColor, this.Checked, this.CheckRectangle));
                    break;

                default:
                    break;
                }
                //
                //switch (this.eDisplayStyle)
                //{
                //    case DisplayStyle.eText:
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                //            new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                //        break;
                //    default:
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                //            new GISShare.Controls.WinForm.ImageRenderEventArgs(e.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                //            new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                //        break;
                //}
                switch (this.eDisplayStyle)
                {
                case DisplayStyle.eImage:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(e.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    break;

                case DisplayStyle.eText:
                    StringFormat stringFormat = new StringFormat();
                    if (this.eOrientation == Orientation.Vertical)
                    {
                        stringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
                    }
                    stringFormat.Trimming = StringTrimming.EllipsisCharacter;
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, true, this.Text, this.ForeColor, this.Font, this.TextRectangle, stringFormat));
                    break;

                case DisplayStyle.eImageAndText:
                    StringFormat stringFormat2 = new StringFormat();
                    if (this.eOrientation == Orientation.Vertical)
                    {
                        stringFormat2.FormatFlags = StringFormatFlags.DirectionVertical;
                    }
                    stringFormat2.Trimming = StringTrimming.EllipsisCharacter;
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(e.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, true, this.Text, this.ForeColor, this.Font, this.TextRectangle, stringFormat2));
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (this.eDisplayStyle)
                {
                case DisplayStyle.eImage:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(e.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    break;

                case DisplayStyle.eText:
                    StringFormat stringFormat = new StringFormat();
                    if (this.eOrientation == Orientation.Vertical)
                    {
                        stringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
                    }
                    stringFormat.Trimming = StringTrimming.EllipsisCharacter;
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, true, this.Text, this.ForeColor, this.Font, this.TextRectangle, stringFormat));
                    break;

                case DisplayStyle.eImageAndText:
                    StringFormat stringFormat2 = new StringFormat();
                    if (this.eOrientation == Orientation.Vertical)
                    {
                        stringFormat2.FormatFlags = StringFormatFlags.DirectionVertical;
                    }
                    stringFormat2.Trimming = StringTrimming.EllipsisCharacter;
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(e.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(e.Graphics, this, this.Enabled, true, this.Text, this.ForeColor, this.Font, this.TextRectangle, stringFormat2));
                    break;

                default:
                    break;
                }
            }
        }
コード例 #3
0
        protected override void OnDraw(PaintEventArgs pevent)
        {
            GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderDropDownButton(
                new GISShare.Controls.WinForm.ObjectRenderEventArgs(pevent.Graphics, this, this.DisplayRectangle));
            //
            IContextPopupPanelItem pContextPopupPanelItem = this.pBaseItemOwner as IContextPopupPanelItem;

            if (pContextPopupPanelItem != null)
            {
                switch (pContextPopupPanelItem.eContextPopupStyle)
                {
                case ContextPopupStyle.eSuper:
                case ContextPopupStyle.eNormal:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderContextPopupItemButtonChecked(
                        new GISShare.Controls.WinForm.CheckedRenderEventArgs(pevent.Graphics, this, this.Enabled, this.ForeColor, this.Checked, this.CheckRectangle));
                    break;

                default:
                    break;
                }
                //
                //switch (this.eDisplayStyle)
                //{
                //    case DisplayStyle.eText:
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                //            new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                //        break;
                //    default:
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                //            new GISShare.Controls.WinForm.ImageRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                //        GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                //            new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                //        break;
                //}
                switch (this.eDisplayStyle)
                {
                case DisplayStyle.eImage:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    break;

                case DisplayStyle.eText:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                    break;

                case DisplayStyle.eImageAndText:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                    break;

                default:
                    break;
                }
                //
                if (this.HaveVisibleBaseItem)
                {
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonArrow(
                        new GISShare.Controls.WinForm.ArrowRenderEventArgs(pevent.Graphics, this, this.Enabled, ArrowStyle.eToRight, this.ForeColor, this.ArrowRectangle));
                }
            }
            else
            {
                switch (this.eDisplayStyle)
                {
                case DisplayStyle.eImage:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    break;

                case DisplayStyle.eText:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                    break;

                case DisplayStyle.eImageAndText:
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonImage(
                        new GISShare.Controls.WinForm.ImageRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Image, this.ImageRectangle));
                    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonText(
                        new GISShare.Controls.WinForm.TextRenderEventArgs(pevent.Graphics, this, this.Enabled, this.Text, this.ForeColor, this.Font, this.TextRectangle));
                    break;

                default:
                    break;
                }
                //
                GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonArrow(
                    new GISShare.Controls.WinForm.ArrowRenderEventArgs(pevent.Graphics, this, this.Enabled, this.eArrowStyle, this.ForeColor, this.ArrowRectangle));
                //if (this.HaveVisibleBaseItem)
                //{
                //    GISShare.Controls.WinForm.WFNew.WFNewRenderer.WFNewRendererStrategy.OnRenderRibbonArrow(
                //        new GISShare.Controls.WinForm.ArrowRenderEventArgs(pevent.Graphics, this, this.eArrowStyle, this.ForeColor, this.ArrowRectangle));
                //}
            }
        }