From a6c903959d329db69ea138230516275fa153786b Mon Sep 17 00:00:00 2001 From: Stefan Thordarson Date: Sat, 27 May 2023 19:27:33 +0200 Subject: [PATCH] Update MaterialListView.cs Added support for right-align columns. --- src/ReaLTaiizor/Controls/ListView/MaterialListView.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ReaLTaiizor/Controls/ListView/MaterialListView.cs b/src/ReaLTaiizor/Controls/ListView/MaterialListView.cs index 6d850e2b..77f09740 100644 --- a/src/ReaLTaiizor/Controls/ListView/MaterialListView.cs +++ b/src/ReaLTaiizor/Controls/ListView/MaterialListView.cs @@ -110,7 +110,8 @@ protected override void OnDrawColumnHeader(DrawListViewColumnHeaderEventArgs e) Enabled ? SkinManager.TextHighEmphasisNoAlphaColor : SkinManager.TextDisabledOrHintColor, new Point(e.Bounds.Location.X + PAD, e.Bounds.Location.Y), new Size(e.Bounds.Size.Width - (PAD * 2), e.Bounds.Size.Height), - MaterialNativeTextRenderer.TextAlignFlags.Left | MaterialNativeTextRenderer.TextAlignFlags.Middle); + e.Header.TextAlign == HorizontalAlignment.Left ? MaterialNativeTextRenderer.TextAlignFlags.Left | MaterialNativeTextRenderer.TextAlignFlags.Middle + : MaterialNativeTextRenderer.TextAlignFlags.Right | MaterialNativeTextRenderer.TextAlignFlags.Middle); } protected override void OnDrawItem(DrawListViewItemEventArgs e) @@ -136,6 +137,7 @@ protected override void OnDrawItem(DrawListViewItemEventArgs e) // Draw separator line g.DrawLine(new Pen(SkinManager.DividersColor), e.Bounds.Left, e.Bounds.Y, e.Bounds.Right, e.Bounds.Y); + var idx = 0; foreach (ListViewItem.ListViewSubItem subItem in e.Item.SubItems) { // Draw Text @@ -146,7 +148,10 @@ protected override void OnDrawItem(DrawListViewItemEventArgs e) Enabled ? SkinManager.TextHighEmphasisNoAlphaColor : SkinManager.TextDisabledOrHintColor, new Point(subItem.Bounds.X + PAD, subItem.Bounds.Y), new Size(subItem.Bounds.Width - (PAD * 2), subItem.Bounds.Height), - MaterialNativeTextRenderer.TextAlignFlags.Left | MaterialNativeTextRenderer.TextAlignFlags.Middle); + Columns[idx].TextAlign == HorizontalAlignment.Left + ? MaterialNativeTextRenderer.TextAlignFlags.Left | MaterialNativeTextRenderer.TextAlignFlags.Middle + : MaterialNativeTextRenderer.TextAlignFlags.Right | MaterialNativeTextRenderer.TextAlignFlags.Middle); + ++idx; } } @@ -224,4 +229,4 @@ protected override void OnBackColorChanged(EventArgs e) } #endregion -} \ No newline at end of file +}