Mega Code Archive

 
Categories / C# / 2D Graphics
 

Text Columns

using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Text; using System.Windows.Forms;     class TextColumns: Form {      public static void Main()      {           Application.Run(new TextColumns());      }      public TextColumns()      {           Font = new Font("Times New Roman", 10);           ResizeRedraw = true;       }      protected override void OnPaint(PaintEventArgs pea)      {           DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);      }           protected void DoPage(Graphics grfx, Color clr, int cx, int cy)      {           Brush        brush  = new SolidBrush(clr);           int          iChars, iLines;           string       str    = "Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text ";           StringFormat strfmt = new StringFormat();                  PointF[] aptf = { new PointF(cx, cy) };           grfx.TransformPoints(CoordinateSpace.Device,                                 CoordinateSpace.Page, aptf);               grfx.PageUnit  = GraphicsUnit.Point;               grfx.TransformPoints(CoordinateSpace.Page,                                 CoordinateSpace.Device, aptf);           float fcx = aptf[0].X;           float fcy = aptf[0].Y;               strfmt.HotkeyPrefix = HotkeyPrefix.Show;           strfmt.Trimming     = StringTrimming.Word;           strfmt.FormatFlags |= StringFormatFlags.NoClip;            strfmt.SetTabStops(0, new float[] { 18 });               for (int x = 0; x < fcx && str.Length > 0; x += 156)           {                RectangleF rectf = new RectangleF(x, 0, 144,                                                   fcy - Font.GetHeight(grfx));                    grfx.DrawString(str, Font, brush, rectf, strfmt);                grfx.MeasureString(str, Font, rectf.Size, strfmt,                                    out iChars, out iLines);                    str = str.Substring(iChars);           }          } }