コード例 #1
0
        void _View_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
        {
            if (_ActiveFilter == string.Empty)
            {
                return;
            }
            int index = e.DisplayText.IndexOf(_ActiveFilter);

            if (index < 0)
            {
                return;
            }
            e.Handled = true;
            e.Appearance.FillRectangle(e.Cache, e.Bounds);
            MultiColorDrawStringParams args = new MultiColorDrawStringParams(e.Appearance);

            args.Bounds = e.Bounds;
            args.Text   = e.DisplayText;
            args.Appearance.Assign(e.Appearance);
            AppearanceObject         apperance    = _View.PaintAppearance.SelectedRow;
            CharacterRangeWithFormat defaultRange = new CharacterRangeWithFormat(0, e.DisplayText.Length, e.Appearance.ForeColor, e.Appearance.BackColor);
            CharacterRangeWithFormat range        = new CharacterRangeWithFormat(index, _ActiveFilter.Length, apperance.ForeColor, apperance.BackColor);

            args.Ranges = new CharacterRangeWithFormat[] { defaultRange, range };
            paint.MultiColorDrawString(e.Cache, args);
        }
        void _View_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
        {
            if (_ActiveFilter == string.Empty)
            {
                return;
            }
            int index = e.DisplayText.IndexOf(_ActiveFilter);

            if (index < 0)
            {
                return;
            }
            e.Handled = true;
            var inf             = (e.Cell as GridCellInfo);
            TextEditViewInfo vi = inf.ViewInfo as TextEditViewInfo;

            e.Appearance.FillRectangle(e.Cache, e.Bounds);
            MultiColorDrawStringParams args = new MultiColorDrawStringParams(e.Appearance);

            args.Bounds = e.Bounds;
            args.Text   = e.DisplayText;
            args.Appearance.Assign(e.Appearance);
            AppearanceDefault apperance = LookAndFeelHelper.GetHighlightSearchAppearance(vi.LookAndFeel, !vi.UseHighlightSearchAppearance);

            e.Cache.Paint.DrawMultiColorString(e.Cache, e.Bounds, e.DisplayText, _ActiveFilter, vi.PaintAppearance, vi.PaintAppearance.GetTextOptions().GetStringFormat(vi.DefaultTextOptions),
                                               apperance.ForeColor, apperance.BackColor, false, index);
        }
コード例 #3
0
ファイル: GridViewFilter.cs プロジェクト: toxig/ParnasPlayer
 void DrawSelect(object sender, RowCellCustomDrawEventArgs e, string text)
 {
     int index = e.DisplayText.IndexOf(text);
     e.Handled = true;
     e.Appearance.FillRectangle(e.Cache, e.Bounds);
     MultiColorDrawStringParams args = new MultiColorDrawStringParams(e.Appearance);
     args.Bounds = e.Bounds;
     args.Text = e.DisplayText;
     args.Appearance.Assign(e.Appearance);
     AppearanceObject apperance = _View.PaintAppearance.SelectedRow;
     CharacterRangeWithFormat defaultRange = new CharacterRangeWithFormat(0, e.DisplayText.Length, e.Appearance.ForeColor, e.Appearance.BackColor);
     CharacterRangeWithFormat range = new CharacterRangeWithFormat(index, text.Length, apperance.ForeColor, apperance.BackColor);
     args.Ranges = new CharacterRangeWithFormat[] { defaultRange, range };
     paint.MultiColorDrawString(e.Cache, args);
 }