Occurs when the Magnifying Glass crosshair is redrawn.
Syntax
Visual Basic (Usage) | Copy Code |
---|
Dim instance As RasterMagnifyGlass
Dim graphics As Graphics
Dim centerPoint As Point
instance.OnPaintCrosshair(graphics, centerPoint) |
Parameters
- graphics
- The Graphics object used to paint.
- centerPoint
- The center point of the Magnifying Glass rectangle
Example
Visual Basic | Copy Code |
---|
Private Class MyRasterMagnifyGlass : Inherits RasterMagnifyGlass
Public Sub New()
Shape = RasterMagnifyGlassShape.Border3D
End Sub
Protected Overrides Sub OnPaintBorder(ByVal graphics As Graphics, ByVal centerPoint As Point)
Dim width As Integer = (Size.Width - 2) \ 2
Dim height As Integer = (Size.Height - 2) \ 2
Dim rc As Rectangle = New Rectangle(centerPoint.X - width, centerPoint.Y - height, 2 * width, 2 * height)
graphics.DrawRectangle(Pens.Blue, rc)
End Sub
Protected Overrides Sub OnPaintCrosshair(ByVal graphics As Graphics, ByVal centerPoint As Point)
Dim width As Integer = (Size.Width - 2) \ 2
Dim height As Integer = (Size.Height - 2) \ 2
Dim p1 As Point = New Point(centerPoint.X - width, centerPoint.Y - height)
Dim p2 As Point = New Point(centerPoint.X + width, centerPoint.Y + height)
graphics.DrawLine(Pens.Red, p1, p2)
p1 = New Point(centerPoint.X + width, centerPoint.Y - height)
p2 = New Point(centerPoint.X - width, centerPoint.Y + height)
graphics.DrawLine(Pens.Red, p1, p2)
End Sub
End Class
Private Sub viewer_MagnifyGlassChanged(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Custom Magnify Glass being used -- red X for crosshair, blue for border")
End Sub
Public Sub RasterImageViewer_MagnifyGlass(ByVal viewer As RasterImageViewer)
AddHandler viewer.MagnifyGlassChanged, AddressOf viewer_MagnifyGlassChanged
viewer.MagnifyGlass = New MyRasterMagnifyGlass()
viewer.InteractiveMode = RasterViewerInteractiveMode.MagnifyGlass
RemoveHandler viewer.MagnifyGlassChanged, AddressOf viewer_MagnifyGlassChanged
End Sub |
C# | Copy Code |
---|
class MyRasterMagnifyGlass : RasterMagnifyGlass
{
public MyRasterMagnifyGlass()
{
Shape = RasterMagnifyGlassShape.Border3D;
}
protected override void OnPaintBorder(Graphics graphics, Point centerPoint)
{
int width = (Size.Width - 2) / 2;
int height = (Size.Height - 2) / 2;
Rectangle rc = new Rectangle(centerPoint.X - width, centerPoint.Y - height, 2*width, 2*height);
graphics.DrawRectangle(Pens.Blue, rc);
}
protected override void OnPaintCrosshair(Graphics graphics, Point centerPoint)
{
int width = (Size.Width - 2) / 2;
int height = (Size.Height - 2) / 2;
Point p1 = new Point(centerPoint.X - width, centerPoint.Y - height);
Point p2 = new Point(centerPoint.X + width, centerPoint.Y + height);
graphics.DrawLine(Pens.Red, p1, p2);
p1 = new Point(centerPoint.X + width, centerPoint.Y - height);
p2 = new Point(centerPoint.X - width, centerPoint.Y + height);
graphics.DrawLine(Pens.Red, p1, p2);
}
}
private void viewer_MagnifyGlassChanged(object sender, EventArgs e)
{
MessageBox.Show("Custom Magnify Glass being used -- red X for crosshair, blue for border");
}
public void RasterImageViewer_MagnifyGlass(RasterImageViewer viewer)
{
viewer.MagnifyGlassChanged+= new EventHandler(viewer_MagnifyGlassChanged);
viewer.MagnifyGlass = new MyRasterMagnifyGlass();
viewer.InteractiveMode = RasterViewerInteractiveMode.MagnifyGlass;
viewer.MagnifyGlassChanged -= new EventHandler(viewer_MagnifyGlassChanged);
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also