using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using FastReport.Utils;
namespace FastReport.Controls
{
///
/// Represents the label with line.
///
[ToolboxItem(false)]
public class LabelLine : Control
{
///
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
int x = 0;
if (RightToLeft == RightToLeft.Yes)
{
if (!String.IsNullOrEmpty(Text))
{
x = Width - TextRenderer.MeasureText(Text, Font).Width;
TextRenderer.DrawText(g, Text, Font, new Point(x, 0), ForeColor, TextFormatFlags.RightToLeft);
x -= this.LogicalToDevice(4);
}
g.DrawLine(Pens.Silver, 0, Height / 2, x, Height / 2);
}
else
{
if (!String.IsNullOrEmpty(Text))
{
TextRenderer.DrawText(g, Text, Font, new Point(0, 0), ForeColor);
x += TextRenderer.MeasureText(Text, Font).Width + this.LogicalToDevice(4);
}
g.DrawLine(Pens.Silver, x, Height / 2, Width, Height / 2);
}
}
///
/// Initializes a new instance of the class.
///
public LabelLine()
{
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
}
}