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); }
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)); }
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; }