■ DiagramControl 클래스 : 이용 가능한 도형 나열하기
------------------------------------------------------------------------------------------------------------------------
▶ MainForm.cs
using System.Collections.Generic; using System.Drawing;
using DevExpress.Diagram.Core; using DevExpress.Utils; using DevExpress.XtraDiagram; using DevExpress.XtraEditors;
namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : XtraForm { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent();
this.diagramControl.OptionsView.ShowGrid = false; this.diagramControl.OptionsView.ShowRulers = false; this.diagramControl.OptionsView.ShowPageBreaks = false;
List<ShapeDescription> list = new List<ShapeDescription>();
list.Add(BasicShapes.Can ); list.Add(BasicShapes.Chevron ); list.Add(BasicShapes.Cross ); list.Add(BasicShapes.Cube ); list.Add(BasicShapes.Decagon ); list.Add(BasicShapes.DiagonalStripe ); list.Add(BasicShapes.Diamond ); list.Add(BasicShapes.Donut ); list.Add(BasicShapes.Ellipse ); list.Add(BasicShapes.Frame ); list.Add(BasicShapes.FrameCorner ); list.Add(BasicShapes.Heptagon ); list.Add(BasicShapes.Hexagon ); list.Add(BasicShapes.LShape ); list.Add(BasicShapes.LeftBrace ); list.Add(BasicShapes.LeftParenthesis ); list.Add(BasicShapes.NoSymbol ); list.Add(BasicShapes.Octagon ); list.Add(BasicShapes.Parallelogram ); list.Add(BasicShapes.Pentagon ); list.Add(BasicShapes.Plaque ); list.Add(BasicShapes.Rectangle ); list.Add(BasicShapes.RightBrace ); list.Add(BasicShapes.RightParenthesis ); list.Add(BasicShapes.RightTriangle ); list.Add(BasicShapes.RoundCornerRectangle ); list.Add(BasicShapes.RoundDiagonalCornerRectangle ); list.Add(BasicShapes.RoundSameSideCornerRectangle ); list.Add(BasicShapes.RoundedRectangle ); list.Add(BasicShapes.SingleRoundCornerRectangle ); list.Add(BasicShapes.SingleSnipCornerRectangle ); list.Add(BasicShapes.SnipAndRoundCornerRectangle ); list.Add(BasicShapes.SnipAndRoundSingleCornerRectangle); list.Add(BasicShapes.SnipCornerRectangle ); list.Add(BasicShapes.SnipDiagonalCornerRectangle ); list.Add(BasicShapes.SnipSameSideCornerRectangle ); list.Add(BasicShapes.Star16 ); list.Add(BasicShapes.Star24 ); list.Add(BasicShapes.Star32 ); list.Add(BasicShapes.Star4 ); list.Add(BasicShapes.Star5 ); list.Add(BasicShapes.Star6 ); list.Add(BasicShapes.Star7 ); list.Add(BasicShapes.Trapezoid ); list.Add(BasicShapes.Triangle );
list.Add(BasicFlowchartShapes.Custom1 ); list.Add(BasicFlowchartShapes.Custom2 ); list.Add(BasicFlowchartShapes.Custom3 ); list.Add(BasicFlowchartShapes.Custom4 ); list.Add(BasicFlowchartShapes.Data ); list.Add(BasicFlowchartShapes.Database ); list.Add(BasicFlowchartShapes.Decision ); list.Add(BasicFlowchartShapes.Document ); list.Add(BasicFlowchartShapes.ExternalData ); list.Add(BasicFlowchartShapes.OffPageReference ); list.Add(BasicFlowchartShapes.OnPageReference ); list.Add(BasicFlowchartShapes.Process ); list.Add(BasicFlowchartShapes.StartEnd ); list.Add(BasicFlowchartShapes.Subprocess );
list.Add(SDLDiagramShapes.Alternative ); list.Add(SDLDiagramShapes.CreateRequest ); list.Add(SDLDiagramShapes.Decision1 ); list.Add(SDLDiagramShapes.Decision2 ); list.Add(SDLDiagramShapes.DiskStorage ); list.Add(SDLDiagramShapes.DividedEvent ); list.Add(SDLDiagramShapes.DividedProcess ); list.Add(SDLDiagramShapes.Document ); list.Add(SDLDiagramShapes.MessageFromUser ); list.Add(SDLDiagramShapes.MessageToUser ); list.Add(SDLDiagramShapes.OffPageReference ); list.Add(SDLDiagramShapes.OnPageReference ); list.Add(SDLDiagramShapes.PrimitiveFromCallControl ); list.Add(SDLDiagramShapes.PrimitiveToCallControl ); list.Add(SDLDiagramShapes.Procedure ); list.Add(SDLDiagramShapes.Return ); list.Add(SDLDiagramShapes.Save ); list.Add(SDLDiagramShapes.Start ); list.Add(SDLDiagramShapes.Terminator ); list.Add(SDLDiagramShapes.VariableProcedure ); list.Add(SDLDiagramShapes.VariableStart );
list.Add(ArrowShapes.BentArrow ); list.Add(ArrowShapes.BlockArrow ); list.Add(ArrowShapes.CircularArrow ); list.Add(ArrowShapes.CurvedLeftArrow ); list.Add(ArrowShapes.CurvedRightArrow ); list.Add(ArrowShapes.FlexibleArrow ); list.Add(ArrowShapes.LeftRightArrowBlock ); list.Add(ArrowShapes.LeftRightUpArrow ); list.Add(ArrowShapes.ModernArrow ); list.Add(ArrowShapes.NotchedArrow ); list.Add(ArrowShapes.QuadArrow ); list.Add(ArrowShapes.QuadArrowBlock ); list.Add(ArrowShapes.SharpBentArrow ); list.Add(ArrowShapes.SimpleArrow ); list.Add(ArrowShapes.SimpleDoubleArrow ); list.Add(ArrowShapes.StripedArrow ); list.Add(ArrowShapes.UTurnArrow );
list.Add(SoftwareIcons.Add ); list.Add(SoftwareIcons.Back ); list.Add(SoftwareIcons.Calendar ); list.Add(SoftwareIcons.Collapse ); list.Add(SoftwareIcons.Database ); list.Add(SoftwareIcons.Document ); list.Add(SoftwareIcons.Expand ); list.Add(SoftwareIcons.Filter ); list.Add(SoftwareIcons.Forward ); list.Add(SoftwareIcons.HardDrive ); list.Add(SoftwareIcons.Lock ); list.Add(SoftwareIcons.Network ); list.Add(SoftwareIcons.Permission ); list.Add(SoftwareIcons.Properties ); list.Add(SoftwareIcons.Remove ); list.Add(SoftwareIcons.Sort ); list.Add(SoftwareIcons.Tools ); list.Add(SoftwareIcons.ZoomIn ); list.Add(SoftwareIcons.ZoomOut );
list.Add(DecorativeShapes.Cloud ); list.Add(DecorativeShapes.DoubleWave ); list.Add(DecorativeShapes.DownRibbon ); list.Add(DecorativeShapes.Heart ); list.Add(DecorativeShapes.HorizontalScroll ); list.Add(DecorativeShapes.LightningBolt ); list.Add(DecorativeShapes.Moon ); list.Add(DecorativeShapes.UpRibbon ); list.Add(DecorativeShapes.VerticalScroll ); list.Add(DecorativeShapes.Wave );
for(int i = 0; i < list.Count; i++) { int x = GetColumnIndex(10, i); int y = GetRowIndex(10, i);
DiagramShape shape = new DiagramShape();
shape.Size = new SizeF(100f, 100f); shape.Position = new PointFloat(x * 150f + 100f, y * 150f + 100f); shape.Shape = list[i]; shape.Appearance.BorderSize = 4; shape.Appearance.BorderColor = Color.FromArgb(128, 0, 0, 0); shape.Appearance.BackColor = Color.White;
this.diagramControl.Items.Add(shape); }
this.diagramControl.FitToDrawing(); }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private
#region 행 인덱스 구하기 - GetRowIndex(columnCount, sequenceIndex)
/// <summary> /// 행 인덱스 구하기 /// </summary> /// <param name="columnCount">컬럼 수</param> /// <param name="sequenceIndex">순번 인덱스</param> /// <returns>행 인덱스</returns> private int GetRowIndex(int columnCount, int sequenceIndex) { return sequenceIndex / columnCount; }
#endregion #region 컬럼 인덱스 구하기 - GetColumnIndex(columnCount, sequenceIndex)
/// <summary> /// 컬럼 인덱스 구하기 /// </summary> /// <param name="columnCount">컬럼 수</param> /// <param name="sequenceIndex">순번 인덱스</param> /// <returns>컬럼 인덱스</returns> private int GetColumnIndex(int columnCount, int sequenceIndex) { return sequenceIndex % columnCount; }
#endregion } }
|
------------------------------------------------------------------------------------------------------------------------
댓글을 달아 주세요