■ TreeList 클래스의 CustomDrawNodeCell 이벤트를 사용해 노드 셀을 커스텀 그리는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
using System.Drawing; using System.Drawing.Drawing2D; using DevExpress.XtraTreeList; ... private TreeList treeList; ... this.treeList.CustomDrawNodeCell += treeList_CustomDrawNodeCell; ... #region 트리 리스트 노드 셀 커스텀 그리기 - treeList_CustomDrawNodeCell(sender, e) /// <summary> /// 트리 리스트 노드 셀 커스텀 그리기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void treeList_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) { Brush backgroundBrush; Brush foregroundBrush; if(e.Node != (sender as TreeList).FocusedNode) { backgroundBrush = new LinearGradientBrush ( e.Bounds, Color.PapayaWhip, Color.PeachPuff, LinearGradientMode.ForwardDiagonal ); foregroundBrush = Brushes.Black; } else { backgroundBrush = Brushes.DarkBlue; foregroundBrush = new SolidBrush(Color.PeachPuff); } e.Graphics.FillRectangle(backgroundBrush, e.Bounds); e.Graphics.DrawString ( e.CellText, e.Appearance.Font, foregroundBrush, e.Bounds, e.Appearance.GetStringFormat() ); e.Handled = true; } #endregion |