示例#1
0
        private FontStyle UpdateSample()
        {
            if (familyBox.Items.Count == 0)
            {
                return(FontStyle.Regular);
            }

            DisplayFont displayFont = (DisplayFont)familyBox.SelectedItem;

            FontStyle style = displayFont.Style;

            if (boldCheck.Checked && displayFont.Family.IsStyleAvailable(FontStyle.Bold))
            {
                style |= FontStyle.Bold;
            }

            if (italicCheck.Checked && displayFont.Family.IsStyleAvailable(FontStyle.Italic))
            {
                style |= FontStyle.Italic;
            }

            sample.Font = new System.Drawing.Font(
                displayFont.DisplayName,
                (float)sizeBox.Value,
                style
                );

            sample.ForeColor = ((DisplayColor)foreColorBox.SelectedItem).Color;
            sample.BackColor = ((DisplayColor)backColorBox.SelectedItem).Color;

            return(style);
        }
示例#2
0
        //========================================================================================
        // DoChangeFamily()
        //========================================================================================

        private void DoChangeFamily(object sender, EventArgs e)
        {
            DisplayFont displayFont = (DisplayFont)familyBox.SelectedItem;

            if (displayFont.Family.IsStyleAvailable(FontStyle.Bold))
            {
                boldCheck.Enabled = true;
            }
            else
            {
                boldCheck.Checked = false;
                boldCheck.Enabled = false;
            }

            if (displayFont.Family.IsStyleAvailable(FontStyle.Italic))
            {
                italicCheck.Enabled = true;
            }
            else
            {
                italicCheck.Checked = false;
                italicCheck.Enabled = false;
            }

            DoChangeProperties(sender, e);
        }
示例#3
0
        public static void BuildFontList(Graphics g)
        {
            System.Drawing.Font      font;
            System.Drawing.FontStyle style;
            DisplayFont displayFont;

            FontList = new ArrayList();

            FontFamily[] families = FontFamily.Families;
            foreach (FontFamily family in families)
            {
                if (family.IsStyleAvailable(FontStyle.Regular))
                {
                    style = FontStyle.Regular;
                }
                else if (family.IsStyleAvailable(FontStyle.Bold))
                {
                    style = FontStyle.Bold;
                }
                else if (family.IsStyleAvailable(FontStyle.Italic))
                {
                    style = FontStyle.Italic;
                }
                else
                {
                    style = FontStyle.Strikeout;
                }

                if (style != FontStyle.Strikeout)
                {
                    font = new System.Drawing.Font(family, 12.0F, style);

                    displayFont = new DisplayFont(family, style);

                    displayFont.IsMonospace
                        = (Math.Truncate(g.MeasureString("WWW", font).Width)
                           == Math.Truncate(g.MeasureString("iii", font).Width));

                    FontList.Add(displayFont);
                }
            }
        }
示例#4
0
        //========================================================================================
        // DrawFontFamilyComboItem()
        //========================================================================================

        private void DrawFontFamilyComboItem(object sender, DrawItemEventArgs e)
        {
            if (e.Index < 0)
            {
                return;
            }

            DisplayFont displayFont = (DisplayFont)familyBox.Items[e.Index];
            FontStyle   style       = (displayFont.IsMonospace ? FontStyle.Bold : FontStyle.Regular);

            System.Drawing.Font font = new System.Drawing.Font(familyBox.Font, style);

            e.DrawBackground();

            e.Graphics.DrawString(
                displayFont.DisplayName,
                font,
                new SolidBrush(e.ForeColor),
                e.Bounds.X,
                e.Bounds.Top);

            e.DrawFocusRectangle();
        }