private Ternary GetFontEffect(uint mask, uint effect)
        {
            STRUCT_CHARFORMAT2 charFormat2 = new STRUCT_CHARFORMAT2();

            GetCharFormat(ref charFormat2);
            if ((charFormat2.dwMask & mask) == 0)
            {
                return(Ternary.Indeterminate);
            }
            return(((charFormat2.dwEffects & effect) != 0) ? Ternary.Yes : Ternary.No);
        }
        private void SetCharFormat(ref STRUCT_CHARFORMAT2 charFormat2)
        {
            charFormat2.cbSize = Marshal.SizeOf(charFormat2);

            /*
             * charFormat2.dwMask |= CFM_UNDERLINE | CFM_UNDERLINETYPE;
             * charFormat2.dwEffects |= CFE_UNDERLINE;
             * charFormat2.bUnderlineType = CFU_UNDERLINETHICK;
             */

            SendMessageCharFormat2(this.Handle, EM_SETCHARFORMAT, SCF_SELECTION, ref charFormat2);
        }
        private void SetFontEffect(uint mask, uint effect, Ternary val)
        {
            if (val == Ternary.Indeterminate)
            {
                return;
            }
            STRUCT_CHARFORMAT2 charFormat2 = new STRUCT_CHARFORMAT2();

            charFormat2.dwMask    = mask;
            charFormat2.dwEffects = val == Ternary.Yes ? effect : 0;
            SetCharFormat(ref charFormat2);
        }
        public FormatChanges GetFormatChanges()
        {
            FormatChanges fc = new FormatChanges();

            fc.color = SelectionColor;
            fc.font  = SelectionFont;
            STRUCT_CHARFORMAT2 cf2 = new STRUCT_CHARFORMAT2();

            GetCharFormat(ref cf2);
            if ((cf2.dwMask & CFM_BOLD) != 0)
            {
                fc.bold = ((cf2.dwEffects & CFE_BOLD) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_ITALIC) != 0)
            {
                fc.italic = ((cf2.dwEffects & CFE_ITALIC) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_UNDERLINE) != 0)
            {
                fc.underline = ((cf2.dwEffects & CFE_UNDERLINE) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_SUPERSCRIPT) != 0)
            {
                fc.superscript = ((cf2.dwEffects & CFE_SUPERSCRIPT) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_SUBSCRIPT) != 0)
            {
                fc.subscript = ((cf2.dwEffects & CFE_SUBSCRIPT) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_STRIKEOUT) != 0)
            {
                fc.strikeout = ((cf2.dwEffects & CFE_STRIKEOUT) != 0) ? Ternary.Yes : Ternary.No;
            }
            if ((cf2.dwMask & CFM_FACE) != 0)
            {
                fc.fontfamily = cf2.szFaceName;
            }
            if ((cf2.dwMask & CFM_SIZE) != 0)
            {
                fc.fontsize = cf2.yHeight / 20f; /*again, this may not be right. why 20?*/
            }
            return(fc);
        }
 private static extern Int32 SendMessageCharFormat2(IntPtr hWnd, int Msg, Int32 wParam, ref STRUCT_CHARFORMAT2 cf2);
 private void GetCharFormat(ref STRUCT_CHARFORMAT2 charFormat2)
 {
     charFormat2.cbSize = Marshal.SizeOf(charFormat2);
     SendMessageCharFormat2(this.Handle, EM_GETCHARFORMAT, SCF_SELECTION, ref charFormat2);
 }
        public void SetFormatChanges(FormatChanges fc)
        {
            if (fc.color != Color.Empty)
            {
                SelectionColor = fc.color;
            }
            if (fc.font != null)
            {
                SelectionFont = fc.font;
            }

            STRUCT_CHARFORMAT2 cf2 = new STRUCT_CHARFORMAT2();

            if (fc.fontfamily != String.Empty)
            {
                cf2.dwMask    |= CFM_FACE;
                cf2.szFaceName = fc.fontfamily;
            }
            if (fc.fontsize != 0f)
            {
                cf2.dwMask |= CFM_SIZE;
                cf2.yHeight = (int)(fc.fontsize * 20f); /*no idea if this is correct conversion*/
            }
            if (fc.bold != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_BOLD;
                if (fc.bold == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_BOLD;
                }
            }
            if (fc.italic != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_ITALIC;
                if (fc.italic == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_ITALIC;
                }
            }
            if (fc.underline != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_UNDERLINE;
                if (fc.underline == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_UNDERLINE;
                }
            }
            if (fc.strikeout != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_STRIKEOUT;
                if (fc.strikeout == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_STRIKEOUT;
                }
            }
            if (fc.superscript != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_SUPERSCRIPT;
                if (fc.superscript == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_SUPERSCRIPT;
                }
            }
            if (fc.subscript != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_SUBSCRIPT;
                if (fc.subscript == Ternary.Yes)
                {
                    cf2.dwEffects |= CFE_SUBSCRIPT;
                }
            }
            if (cf2.dwMask != 0)
            {
                SetCharFormat(ref cf2);
            }
        }
Esempio n. 8
0
        private void SetCharFormat(ref STRUCT_CHARFORMAT2 charFormat2)
        {
            charFormat2.cbSize = Marshal.SizeOf(charFormat2);
            /*
            charFormat2.dwMask |= CFM_UNDERLINE | CFM_UNDERLINETYPE;
            charFormat2.dwEffects |= CFE_UNDERLINE;
            charFormat2.bUnderlineType = CFU_UNDERLINETHICK;
             */

            SendMessageCharFormat2(this.Handle, EM_SETCHARFORMAT, (IntPtr)SCF_SELECTION, ref charFormat2);
        }
Esempio n. 9
0
 private void SetFontEffect(uint mask, uint effect, Ternary val)
 {
     if (val == Ternary.Indeterminate)
         return;
     STRUCT_CHARFORMAT2 charFormat2 = new STRUCT_CHARFORMAT2();
     charFormat2.dwMask = mask;
     charFormat2.dwEffects = val == Ternary.Yes ? effect : 0;
     SetCharFormat(ref charFormat2);
 }
Esempio n. 10
0
        private Ternary GetFontEffect(uint mask, uint effect)
        {
            STRUCT_CHARFORMAT2 charFormat2 = new STRUCT_CHARFORMAT2();

            GetCharFormat(ref charFormat2);
            if ((charFormat2.dwMask & mask) == 0)
                return Ternary.Indeterminate;
            return ((charFormat2.dwEffects & effect) != 0) ? Ternary.Yes : Ternary.No;
        }
Esempio n. 11
0
 private void GetCharFormat(ref STRUCT_CHARFORMAT2 charFormat2)
 {
     charFormat2.cbSize = Marshal.SizeOf(charFormat2);
     SendMessageCharFormat2(this.Handle, EM_GETCHARFORMAT, (IntPtr)SCF_SELECTION, ref charFormat2);
 }
Esempio n. 12
0
 private static extern IntPtr SendMessageCharFormat2(IntPtr hWnd, UInt32 Msg, IntPtr wParam, ref STRUCT_CHARFORMAT2 cf2);
Esempio n. 13
0
        public void SetFormatChanges(FormatChanges fc)
        {
            if (fc.color != Color.Empty)
                SelectionColor = fc.color;
            if (fc.font != null)
                SelectionFont = fc.font;

            STRUCT_CHARFORMAT2 cf2 = new STRUCT_CHARFORMAT2();
            if (fc.fontfamily != String.Empty)
            {
                cf2.dwMask |= CFM_FACE;
                cf2.szFaceName = fc.fontfamily;
            }
            if (fc.fontsize != 0f)
            {
                cf2.dwMask |= CFM_SIZE;
                cf2.yHeight = (int)(fc.fontsize * 20f); /*no idea if this is correct conversion*/
            }
            if (fc.bold != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_BOLD;
                if (fc.bold == Ternary.Yes)
                    cf2.dwEffects |= CFE_BOLD;
            }
            if (fc.italic != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_ITALIC;
                if (fc.italic == Ternary.Yes)
                    cf2.dwEffects |= CFE_ITALIC;
            }
            if (fc.underline != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_UNDERLINE;
                if (fc.underline == Ternary.Yes)
                    cf2.dwEffects |= CFE_UNDERLINE;
            }
            if (fc.strikeout != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_STRIKEOUT;
                if (fc.strikeout == Ternary.Yes)
                    cf2.dwEffects |= CFE_STRIKEOUT;
            }
            if (fc.superscript != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_SUPERSCRIPT;
                if (fc.superscript == Ternary.Yes)
                    cf2.dwEffects |= CFE_SUPERSCRIPT;
            }
            if (fc.subscript != Ternary.Indeterminate)
            {
                cf2.dwMask |= CFM_SUBSCRIPT;
                if (fc.subscript == Ternary.Yes)
                    cf2.dwEffects |= CFE_SUBSCRIPT;
            }
            if (cf2.dwMask != 0)
                SetCharFormat(ref cf2);
        }
Esempio n. 14
0
 public FormatChanges GetFormatChanges()
 {
     FormatChanges fc = new FormatChanges();
     fc.color = SelectionColor;
     fc.font = SelectionFont;
     STRUCT_CHARFORMAT2 cf2 = new STRUCT_CHARFORMAT2();
     GetCharFormat(ref cf2);
     if ((cf2.dwMask & CFM_BOLD) != 0)
         fc.bold = ((cf2.dwEffects & CFE_BOLD) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_ITALIC) != 0)
         fc.italic = ((cf2.dwEffects & CFE_ITALIC) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_UNDERLINE) != 0)
         fc.underline = ((cf2.dwEffects & CFE_UNDERLINE) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_SUPERSCRIPT) != 0)
         fc.superscript = ((cf2.dwEffects & CFE_SUPERSCRIPT) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_SUBSCRIPT) != 0)
         fc.subscript = ((cf2.dwEffects & CFE_SUBSCRIPT) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_STRIKEOUT) != 0)
         fc.strikeout = ((cf2.dwEffects & CFE_STRIKEOUT) != 0) ? Ternary.Yes : Ternary.No;
     if ((cf2.dwMask & CFM_FACE) != 0)
         fc.fontfamily = cf2.szFaceName;
     if ((cf2.dwMask & CFM_SIZE) != 0)
         fc.fontsize = cf2.yHeight / 20f; /*again, this may not be right. why 20?*/
     return fc;
 }