void CreateColumnHeaderArgs()
        {
            ColumnHeaderArgs.Clear();
            int x = HeaderArea.X;

            foreach (var column in VisibleColumns) {
                var header = new HeaderObjectInfoArgs {
                    Bounds = new Rectangle(x, HeaderArea.Y, Math.Min(column.Width, HeaderArea.Width - x), HeaderArea.Height),
                    Caption = column.Caption,
                };
                if (ColumnHeaderArgs.Count == 0) header.HeaderPosition = HeaderPositionKind.Left;
                header.SetAppearance(AppearanceColumnHeader);
                ColumnHeaderArgs.Add(header);
                x += column.Width;
                if (x > HeaderArea.Right) break;
            }

            //Stretch the last header to fill the entire width
            var last = ColumnHeaderArgs.Last();
            last.Bounds = new Rectangle(last.Bounds.X, last.Bounds.Y, HeaderArea.Right - last.Bounds.X, HeaderArea.Height);
            last.HeaderPosition = HeaderPositionKind.Right;

            foreach (var header in ColumnHeaderArgs)
                HeaderPainter.CalcObjectBounds(header);
        }
Esempio n. 2
0
        public static void DrawFixedCells_2(RowCellCustomDrawEventArgs e, string employeefullname, bool isfocused, bool usedText)
        {
            HeaderObjectInfoArgs args = new HeaderObjectInfoArgs();
            args.BackAppearance = e.Appearance;
            args.Bounds = Rectangle.Inflate(e.Bounds, 2, 2);
            args.Cache = e.Cache;
            args.Caption = null;
            args.State = (isfocused) ? ObjectState.Hot : ObjectState.Normal;
            if (usedText )
                e.Appearance.ForeColor = Color.Black;
            DevExpress.LookAndFeel.UserLookAndFeel.Default.Painter.Header.DrawObject(args);

            e.Appearance.DrawString(e.Cache,
                                    (usedText) ? employeefullname : e.CellValue.ToString(),//employeefullname,
                                    Rectangle.Inflate(e.Bounds, -2, -2),
                                    e.Cache.GetSolidBrush(e.Appearance.ForeColor),
                                    e.Appearance.GetStringFormat(TextOptions.DefaultOptionsMultiLine));
        }
Esempio n. 3
0
 Size CalcCaptionTextSize(GraphicsCache cache, HeaderObjectInfoArgs ee, string caption)
 {
     Size captionSize = ee.Appearance.CalcTextSize(cache, caption, ee.CaptionRect.Width).ToSize();
     captionSize.Height++; captionSize.Width++;
     return captionSize;
 }