LEADTOOLS Medical (Leadtools.MedicalViewer assembly)
LEAD Technologies, Inc

StartDrawingAnnotation Event

Example 





Optional delegate method for additional processing.
Syntax
public event EventHandler<MedicalViewerDrawingAnnotationsEventArgs> StartDrawingAnnotation
'Declaration
 
Public Event StartDrawingAnnotation As EventHandler(Of MedicalViewerDrawingAnnotationsEventArgs)
'Usage
 
Dim instance As MedicalViewerBaseCell
Dim handler As EventHandler(Of MedicalViewerDrawingAnnotationsEventArgs)
 
AddHandler instance.StartDrawingAnnotation, handler
public event EventHandler<MedicalViewerDrawingAnnotationsEventArgs> StartDrawingAnnotation
add_StartDrawingAnnotation(function(sender, e))
remove_StartDrawingAnnotation(function(sender, e))

public:
event EventHandler<MedicalViewerDrawingAnnotationsEventArgs^>^ StartDrawingAnnotation
Event Data

The event handler receives an argument of type MedicalViewerDrawingAnnotationsEventArgs containing data related to this event. The following MedicalViewerDrawingAnnotationsEventArgs properties provide information specific to this event.

PropertyDescription
Container Gets the annotation container that contains the annotation object to be created.
Object Gets the object that is being created.
SubCellIndex Gets the sub-cell index of the cell that contains the container of the object that is being created.
Type Gets the enumeration value that determines the type of the object being created.
Example
 
' This example makes the color of each newly created object blue.
     Private Class MedicalViewerStartDrawingAnnotationForm : Inherits Form
         Private _medicalViewer As MedicalViewer
         Private _image As RasterImage

         Private Sub MedicalViewer_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
             _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
         End Sub

         Public Sub New()
             DicomEngine.Startup()
             Dim _codecs As RasterCodecs = New RasterCodecs()

             AddHandler SizeChanged, AddressOf MedicalViewer_SizeChanged

             ' Create the medical viewer and adjust the size and the location.
             _medicalViewer = New MedicalViewer(1, 2)
             _medicalViewer.Location = New Point(0, 0)
             _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)

             ' Load an image and then add it to the control.
             _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"))
             Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1)
             _medicalViewer.Cells.Add(cell)
             AddHandler cell.StartDrawingAnnotation, AddressOf cell_StartDrawingAnnotation

             cell.AddAction(MedicalViewerActionType.AnnotationRectangle)
             cell.AddAction(MedicalViewerActionType.Alpha)
             cell.AddAction(MedicalViewerActionType.Offset)

             ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
             cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
             cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
             cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

             Controls.Add(_medicalViewer)
             _medicalViewer.Dock = DockStyle.Fill
             DicomEngine.Shutdown()
         End Sub

         Private Sub cell_StartDrawingAnnotation(ByVal sender As Object, ByVal e As MedicalViewerDrawingAnnotationsEventArgs)
             e.Object.Brush = New AnnSolidBrush(Color.Red)
         End Sub

         Private Sub MedicalViewerLocalizer_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
         End Sub

         Public ReadOnly Property Viewer() As MedicalViewer
             Get
                 Return _medicalViewer
             End Get
         End Property
     End Class

     Private Function GetMedicalViewerStartDrawingAnnotationForm() As MedicalViewerStartDrawingAnnotationForm
         Dim form As MedicalViewerSeriesManagerFrom = New MedicalViewerSeriesManagerFrom()
         Return New MedicalViewerStartDrawingAnnotationForm()
     End Function

     ' This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value.

     Public Sub MedicalViewerStartDrawingAnnotationExample()
         Dim myForm As MedicalViewerStartDrawingAnnotationForm = GetMedicalViewerStartDrawingAnnotationForm()
         Dim medicalViewer As MedicalViewer = myForm.Viewer

         myForm.ShowDialog()
     End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
// This example makes the color of each newly created object blue.
   class MedicalViewerStartDrawingAnnotationForm : Form
   {
      private MedicalViewer _medicalViewer;
      private RasterImage _image;

      void MedicalViewerLocalizer_SizeChanged(object sender, EventArgs e)
      {
         _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
      }

      public MedicalViewerStartDrawingAnnotationForm()
      {
         DicomEngine.Startup();
         RasterCodecs _codecs = new RasterCodecs();

         this.SizeChanged += new EventHandler(MedicalViewerLocalizer_SizeChanged);

         // Create the medical viewer and adjust the size and the location.
         _medicalViewer = new MedicalViewer(1, 2);
         _medicalViewer.Location = new Point(0, 0);
         _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);

         // Load an image and then add it to the control.
         _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"));
         MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
         _medicalViewer.Cells.Add(cell);
         cell.StartDrawingAnnotation += new EventHandler<MedicalViewerDrawingAnnotationsEventArgs>(cell_StartDrawingAnnotation);

         cell.AddAction(MedicalViewerActionType.AnnotationRectangle);
         cell.AddAction(MedicalViewerActionType.Alpha);
         cell.AddAction(MedicalViewerActionType.Offset);

         // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated.
         cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
         cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
         cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

         Controls.Add(_medicalViewer);
         _medicalViewer.Dock = DockStyle.Fill;
         DicomEngine.Shutdown();
      }

      void cell_StartDrawingAnnotation(object sender, MedicalViewerDrawingAnnotationsEventArgs e)
      {
         e.Object.Brush = new AnnSolidBrush(Color.Red);
      }

      void MedicalViewerLocalizer_FormClosing(object sender, FormClosingEventArgs e)
      {
      }

      public MedicalViewer Viewer
      {
         get { return _medicalViewer; }
      }
   }

   MedicalViewerStartDrawingAnnotationForm GetMedicalViewerStartDrawingAnnotationForm()
   {
      MedicalViewerSeriesManagerFrom form = new MedicalViewerSeriesManagerFrom();
      return new MedicalViewerStartDrawingAnnotationForm();
   }

   // This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value.

   public void MedicalViewerStartDrawingAnnotationExample()
   {
      MedicalViewerStartDrawingAnnotationForm myForm = GetMedicalViewerStartDrawingAnnotationForm();
      MedicalViewer medicalViewer = myForm.Viewer;

      myForm.ShowDialog();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

MedicalViewerBaseCell Class
MedicalViewerBaseCell Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.MedicalViewer requires a Medical Imaging license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features