Imports Leadtools
Imports Leadtools.Annotations
Imports Leadtools.Codecs
Imports Leadtools.WinForms
Public theContainer As AnnContainer
Public Sub AnnContainer_BeforeDrawingObjects(ByVal container As AnnContainer)
' theContainer is set so that it can be accessed in the container_BeforeDrawingObjects event
theContainer = container
AddHandler container.BeforeDrawingObjects, AddressOf container_BeforeDrawingObjects
End Sub
Private Sub container_BeforeDrawingObjects(ByVal sender As Object, ByVal e As AnnPaintEventArgs)
' draw a grid, 100 pixels apart
Dim graphics As Graphics = e.Graphics
' set the current transform from the container
graphics.MultiplyTransform(theContainer.Transform)
' get the bounds in pixels
Dim rc As AnnRectangle = theContainer.Bounds.ConvertTo(theContainer.UnitConverter, AnnUnit.Pixel)
Dim p As Pen = New Pen(Color.FromArgb(128, 255, 255, 255))
Try
' draw the grid
Dim x As Single = rc.Left
Do While x <= rc.Right
graphics.DrawLine(p, x, 0, x, rc.Bottom)
x += 100
Loop
Dim y As Single = rc.Top
Do While y <= rc.Bottom
graphics.DrawLine(p, 0, y, rc.Right, y)
y += 100
Loop
Finally
CType(p, IDisposable).Dispose()
End Try
End Sub
using Leadtools;
using Leadtools.Annotations;
using Leadtools.Codecs;
using Leadtools.WinForms;
public AnnContainer theContainer;
public void AnnContainer_BeforeDrawingObjects(AnnContainer container)
{
// theContainer is set so that it can be accessed in the container_BeforeDrawingObjects event
theContainer = container;
container.BeforeDrawingObjects += new EventHandler<AnnPaintEventArgs>(container_BeforeDrawingObjects);
}
private void container_BeforeDrawingObjects(object sender, AnnPaintEventArgs e)
{
// draw a grid, 100 pixels apart
Graphics graphics = e.Graphics;
// set the current transform from the container
graphics.MultiplyTransform(theContainer.Transform);
// get the bounds in pixels
AnnRectangle rc = theContainer.Bounds.ConvertTo(theContainer.UnitConverter, AnnUnit.Pixel);
using (Pen p = new Pen(Color.FromArgb(128, 255, 255, 255)))
{
// draw the grid
for (float x = rc.Left; x <= rc.Right; x += 100)
graphics.DrawLine(p, x, 0, x, rc.Bottom);
for (float y = rc.Top; y <= rc.Bottom; y += 100)
graphics.DrawLine(p, 0, y, rc.Right, y);
}
}