using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace HotelPms.Share.Windows.Report { /// /// 単位:1/100インチ /// public abstract class OutputStyle { /// /// 文言出力用テンプレート /// 例:ページ:{0}/{1} /// public string Template { get; set; } = string.Empty; private Font m_Font = new Font("MS UI Gothic", 9F); public Font Font { get { return m_Font; } set { m_Font = value; } } private float m_Left = 0F; public float Left { get { return m_Left; } set { m_Left = value; } } private float m_Top = 0F; public float Top { get { return m_Top; } set { m_Top = value; } } private int m_MaxCharLen = 0; public int MaxCharLen { get { return m_MaxCharLen; } set { m_MaxCharLen = value; } } private float m_Width = 0F; /// /// Padding含む /// public float Width { get { return m_Width; } set { m_Width = value; } } /// /// Padding含む /// public float Height { get; set; } = 0F; public RectangleF RectangleF { get { return new RectangleF(m_Left, m_Top, m_Width, Height); } set { m_Left = value.Left; m_Top = value.Top; m_Width = value.Width; Height = value.Height; } } /// /// 1/100インチ /// private Padding m_Padding = new Padding(0); public Padding Padding { get { return m_Padding; } set { m_Padding = value; } } private List m_BorderList = new List(); /// /// 0.Left 1.Right 2.Top 3.Bottom /// public List BorderList { get { return m_BorderList; } set { m_BorderList = value; } } private Border m_LeftBorder = new Border(Border.TypeIndex.Left); public Border LeftBorder { get { return m_LeftBorder; } set { m_LeftBorder = value; } } private Border m_RightBorder = new Border(Border.TypeIndex.Right); public Border RightBorder { get { return m_RightBorder; } set { m_RightBorder = value; } } private Border m_TopBorder = new Border(Border.TypeIndex.Top); public Border TopBorder { get { return m_TopBorder; } set { m_TopBorder = value; } } private Border m_BottomBorder = new Border(Border.TypeIndex.Bottom); public Border BottomBorder { get { return m_BottomBorder; } set { m_BottomBorder = value; } } // 概要: // 垂直方向の平面上のテキスト配置情報を取得または設定します。 // // 戻り値: // テキスト配置情報を指定する System.Drawing.StringAlignment 列挙体。 private StringAlignment m_Alignment = StringAlignment.Center; public StringAlignment Alignment { get { return m_Alignment; } set { m_Alignment = value; } } private StringAlignment m_LineAlignment = StringAlignment.Center; // // 概要: // 水平方向の平面上の行配置を取得または設定します。 // // 戻り値: // 行配置を表す System.Drawing.StringAlignment 列挙体。 public StringAlignment LineAlignment { get { return m_LineAlignment; } set { m_LineAlignment = value; } } public OutputStyle() { m_BorderList.Add(m_LeftBorder); m_BorderList.Add(m_RightBorder); m_BorderList.Add(m_TopBorder); m_BorderList.Add(m_BottomBorder); } public object Clone() { return this.MemberwiseClone(); } } }