Ejemplo n.º 1
0
        /// <summary>
        /// Apply to the VisualElement specified the Image properties of the current View.
        /// Derived class can call this method to apply the settings to custom VisualElement.
        /// </summary>
        /// <param name="elementImage"></param>
        protected virtual void PrepareVisualElementText(CellContext context, DevAge.Drawing.VisualElements.IText element)
        {
            if (element is DevAge.Drawing.VisualElements.TextRenderer)
            {
                DevAge.Drawing.VisualElements.TextRenderer elementText = (DevAge.Drawing.VisualElements.TextRenderer)element;

                elementText.Font            = GetDrawingFont(context.Grid);
                elementText.ForeColor       = ForeColor;
                elementText.TextFormatFlags = TextFormatFlags.Default;
                if (WordWrap)
                {
                    elementText.TextFormatFlags |= TextFormatFlags.WordBreak;
                }
                if (TrimmingMode == TrimmingMode.Char)
                {
                    elementText.TextFormatFlags |= TextFormatFlags.EndEllipsis;
                }
                else if (TrimmingMode == TrimmingMode.Word)
                {
                    elementText.TextFormatFlags |= TextFormatFlags.WordEllipsis;
                }
                elementText.TextFormatFlags |= DevAge.Windows.Forms.Utilities.ContentAligmentToTextFormatFlags(TextAlignment);
            }
            else if (element is DevAge.Drawing.VisualElements.TextGDI)
            {
                DevAge.Drawing.VisualElements.TextGDI elementTextGDI = (DevAge.Drawing.VisualElements.TextGDI)element;

                elementTextGDI.Font      = GetDrawingFont(context.Grid);
                elementTextGDI.ForeColor = ForeColor;
                if (WordWrap)
                {
                    elementTextGDI.StringFormat.FormatFlags = (StringFormatFlags)0;
                }
                else
                {
                    elementTextGDI.StringFormat.FormatFlags = StringFormatFlags.NoWrap;
                }
                if (TrimmingMode == TrimmingMode.Char)
                {
                    elementTextGDI.StringFormat.Trimming = StringTrimming.Character;
                }
                else if (TrimmingMode == TrimmingMode.Word)
                {
                    elementTextGDI.StringFormat.Trimming = StringTrimming.Word;
                }
                else
                {
                    elementTextGDI.StringFormat.Trimming = StringTrimming.None;
                }
                elementTextGDI.Alignment = TextAlignment;
            }

            //I have already set the TextFormatFlags for the alignment so the Anchor is not necessary. I have removed this code for performance reasons.
            //element.AnchorArea = new DevAge.Drawing.AnchorArea(TextAlignment, false);
            element.Value = context.GetDisplayText();
        }
Ejemplo n.º 2
0
        protected virtual DevAge.Drawing.VisualElements.IText GetVisualElement_Text()
        {
            if (mElementText == null)
            {
                if (UseGDIPlusText)
                {
                    mElementText = new DevAge.Drawing.VisualElements.TextGDI();
                }
                else
                {
                    mElementText = new DevAge.Drawing.VisualElements.TextRenderer();
                }
            }

            return(mElementText);
        }