Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.10
|
Leadtools.Windows.Annotations Namespace : AnnContainer Class |
public class AnnContainer : System.Windows.Controls.Canvas, IAnnContainer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable
'Declaration Public Class AnnContainer Inherits System.Windows.Controls.Canvas Implements IAnnContainer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable
'Usage Dim instance As AnnContainer
public ref class AnnContainer : public System.Windows.Controls.Canvas, IAnnContainer, System.ComponentModel.ISupportInitialize, System.Windows.IFrameworkInputElement, System.Windows.IInputElement, System.Windows.Markup.IAddChild, System.Windows.Markup.IQueryAmbient, System.Windows.Media.Animation.IAnimatable
For XAML example, refer to AnnGroupObject.
This example creates a new AnnContainer object, links it to a Leadtools.Windows.Controls.ImageViewer object, adds a few objects and then adds the container on as a content of the viewer. Moving the mouse over an object displays the object type in the title bar.
Imports Leadtools.Windows.Annotations Imports Leadtools.Windows.Controls Imports Leadtools Imports Leadtools.Codecs Private Class MyWindow1 : Inherits Window Private container As AnnContainer 'AnnAutomationManager manager; Private viewer As ImageViewer Public Sub New(ByVal title As String) Me.Title = title Me.Width = 500 Me.Height = 200 viewer = New ImageViewer() Me.Content = viewer ' load an image into the viewer ' fix this path to an existing image file on your system viewer.Source = New BitmapImage(New Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))) ' create and set up the container container = New AnnContainer() container.Width = viewer.Source.Width container.Height = viewer.Source.Height AddHandler container.MouseMove, AddressOf container_MouseMove ' add a few objects to the container Dim line As AnnLineObject = New AnnLineObject() line.Header = "Line1" line.Stroke = Colors.Red line.StrokeThickness = 1.0 line.Start = New Point(0, 0) line.End = New Point(100, 100) container.Children.Add(line) Dim rect As AnnRectangleObject = New AnnRectangleObject() rect.Header = "Rectangle1" rect.Stroke = Colors.Blue rect.StrokeThickness = 1.0 rect.Fill = Colors.White rect.Rect = New Rect(25, 25, 50, 50) container.Children.Add(rect) 'attach container to the viewer viewer.Content = container End Sub Private Sub container_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) ' perform hit-testing and update the status bar Dim pt As System.Windows.Point = e.GetPosition(container) Dim obj As AnnObject = container.HitTest(pt) If Not obj Is Nothing Then Me.Title = String.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)) Else Me.Title = String.Empty End If End Sub End Class Private Sub AnnContainer_AnnContainer(ByVal title As String) Dim window As MyWindow1 = New MyWindow1(title) window.ShowDialog() End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Windows.Annotations; using Leadtools.Windows.Controls; using Leadtools.Codecs; class MyWindow1 : Window { AnnContainer container; //AnnAutomationManager manager; ImageViewer viewer; public MyWindow1(string title) { this.Title = title; this.Width = 500; this.Height = 200; viewer = new ImageViewer(); this.Content = viewer; // load an image into the viewer // fix this path to an existing image file on your system viewer.Source = new BitmapImage(new Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"))); // create and set up the container container = new AnnContainer(); container.Width = viewer.Source.Width; container.Height = viewer.Source.Height; container.MouseMove += new MouseEventHandler(container_MouseMove); // add a few objects to the container AnnLineObject line = new AnnLineObject(); line.Header = "Line1"; line.Stroke = Colors.Red; line.Start = new Point(0, 0); line.End = new Point(100, 100); line.StrokeThickness = 1.0; container.Children.Add(line); AnnRectangleObject rect = new AnnRectangleObject(); rect.Header = "Rectangle1"; rect.Stroke = Colors.Blue; rect.Fill = Colors.White; rect.Rect = new Rect(25, 25, 50, 50); rect.StrokeThickness = 1.0; container.Children.Add(rect); //attach container to the viewer viewer.Content = container; } private void container_MouseMove(object sender, MouseEventArgs e) { // perform hit-testing and update the status bar Point pt = e.GetPosition(container); AnnObject obj = container.HitTest(pt); if (obj != null) this.Title = string.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)); else this.Title = string.Empty; } } private void AnnContainer_AnnContainer(string title) { MyWindow1 window = new MyWindow1(title); window.ShowDialog(); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
using Leadtools.Windows.Annotations; using Leadtools.Windows.Controls; using Leadtools.Examples; class MyWindow1 : ChildWindow { AnnContainer container; //AnnAutomationManager manager; ImageViewer viewer; public MyWindow1(string title) { this.Title = title; this.Width = 500; this.Height = 200; viewer = new ImageViewer(); this.Content = viewer; // load an image into the viewer , assume that cannon.jpg was added to your project Uri uri = new Uri(@"cannon.jpg", UriKind.Relative); viewer.Source = new BitmapImage(uri); // create and set up the container container = new AnnContainer(); container.Width = ((BitmapSource) viewer.Source).PixelWidth; container.Height = ((BitmapSource)viewer.Source).PixelHeight; container.MouseMove += new MouseEventHandler(container_MouseMove); // add a few objects to the container AnnLineObject line = new AnnLineObject(); line.Header = "Line1"; line.Stroke = Colors.Red; line.Start = new Point(0, 0); line.End = new Point(100, 100); line.StrokeThickness = 1.0; container.Children.Add(line); AnnRectangleObject rect = new AnnRectangleObject(); rect.Header = "Rectangle1"; rect.Stroke = Colors.Blue; rect.Fill = Colors.White; rect.Rect = new Rect(25, 25, 50, 50); rect.StrokeThickness = 1.0; container.Children.Add(rect); //attach container to the viewer viewer.Content = container; } private void container_MouseMove(object sender, MouseEventArgs e) { // perform hit-testing and update the status bar Point pt = e.GetPosition(container); AnnObject obj = container.HitTest(pt); if (obj != null) this.Title = string.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)); else this.Title = string.Empty; } } private void AnnContainer_AnnContainer(string title) { MyWindow1 window = new MyWindow1(title); window.Show(); }
Imports Leadtools.Windows.Annotations Imports Leadtools.Windows.Controls Private Class MyWindow1 : Inherits ChildWindow Private container As AnnContainer 'AnnAutomationManager manager; Private viewer As ImageViewer Public Sub New(ByVal title As String) Me.Title = title Me.Width = 500 Me.Height = 200 viewer = New ImageViewer() Me.Content = viewer 'load an image into the viewer , assume that cannon.jpg was added to your project Dim uri As Uri = New Uri("cannon.jpg", UriKind.Relative) viewer.Source = New BitmapImage(uri) ' create and set up the container container = New AnnContainer() container.Width = (CType(viewer.Source, BitmapSource)).PixelWidth container.Height = (CType(viewer.Source, BitmapSource)).PixelHeight AddHandler container.MouseMove, AddressOf container_MouseMove ' add a few objects to the container Dim line As AnnLineObject = New AnnLineObject() line.Header = "Line1" line.Stroke = Colors.Red line.Start = New Point(0, 0) line.End = New Point(100, 100) line.StrokeThickness = 1.0 container.Children.Add(line) Dim rect As AnnRectangleObject = New AnnRectangleObject() rect.Header = "Rectangle1" rect.Stroke = Colors.Blue rect.Fill = Colors.White rect.Rect = New Rect(25, 25, 50, 50) rect.StrokeThickness = 1.0 container.Children.Add(rect) 'attach container to the viewer viewer.Content = container End Sub Private Sub container_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) ' perform hit-testing and update the status bar Dim pt As Point = e.GetPosition(container) Dim obj As AnnObject = container.HitTest(pt) If Not obj Is Nothing Then Me.Title = String.Format("Type: {0}, Header: {1}, OverHeader: {2}", obj.GetType().Name, obj.Header, obj.HitTestHeader(pt)) Else Me.Title = String.Empty End If End Sub End Class Private Sub AnnContainer_AnnContainer(ByVal title As String) Dim window As MyWindow1 = New MyWindow1(title) window.Show() End Sub