Leadtools.MedicalViewer Requires Medical Imaging license | Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
MedicalViewerPaintInformationEventArgs Class
See Also  Members   Example 
Leadtools.MedicalViewer Namespace : MedicalViewerPaintInformationEventArgs Class



The MedicalViewerPaintInformationEventArgs class provides data for various MedicalViewer painting events.

Syntax

Visual Basic (Declaration) 
Public Class MedicalViewerPaintInformationEventArgs 
   Inherits PaintEventArgs
Visual Basic (Usage)Copy Code
Dim instance As MedicalViewerPaintInformationEventArgs
C# 
public class MedicalViewerPaintInformationEventArgs : PaintEventArgs 
C++/CLI 
public ref class MedicalViewerPaintInformationEventArgs : public PaintEventArgs 

Example

Visual BasicCopy Code
Private Class MedicalViewerForm : Inherits Form
   Private _medicalViewer As MedicalViewer
   Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs)
      _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
   End Sub

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

      AddHandler SizeChanged, AddressOf MedicalViewerForm_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)

      ' add some action that will be used to change the properties of the images inside the control.
      _medicalViewer.AddAction(MedicalViewerActionType.WindowLevel)
      _medicalViewer.AddAction(MedicalViewerActionType.Alpha)
      _medicalViewer.AddAction(MedicalViewerActionType.Offset)
      _medicalViewer.AddAction(MedicalViewerActionType.NudgeTool)

      ' assign the added actions to a mouse button, meaning that when the user click and drag the mouse button, the associted action will be activated.
      _medicalViewer.SetAction(MedicalViewerActionType.NudgeTool, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
      _medicalViewer.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
      _medicalViewer.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)

      ' Load an image and then add it to the control.
      _image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "xa.dcm")
      _medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 1, 1))

      ' adjust some properties to the cell and add some tags.
      _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
      _medicalViewer.Cells(0).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
      _medicalViewer.Cells(0).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
      _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
      _medicalViewer.Cells(0).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)


      ' Load another image and then add it to the control.
      _image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "mr.dcm")
      _medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 2, 2))

      ' adjust some properties to the cell and add some tags.
      _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448")
      _medicalViewer.Cells(1).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame)
      _medicalViewer.Cells(1).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale)
      _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData)
      _medicalViewer.Cells(1).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView)


      RasterCodecs.Shutdown()
      Controls.Add(_medicalViewer)
   End Sub
   Public ReadOnly Property Viewer() As MedicalViewer
      Get
         Return _medicalViewer
      End Get
   End Property
End Class

Private Function GetMedicalControl() As MedicalViewerForm
   Return New MedicalViewerForm()
End Function

' This example will freeze the subcell with even numbers and then type the draw X in the middle of the frozen sub-cells.
<Test> _
Public Sub MedicalViewerPaintInformationExample()
   Dim myForm As MedicalViewerForm = GetMedicalControl()
   Dim medicalViewer As MedicalViewer = myForm.Viewer
   Dim i As Integer

   i = 0
   Do While i < medicalViewer.Cells(0).Image.PageCount
      If ((i >> 1) << 1) = i Then
         medicalViewer.Cells(0).FreezeSubCell(i, True)
      End If
      i += 1
   Loop


   AddHandler medicalViewer.PostPaint, AddressOf medicalViewer_PostPaint

   myForm.ShowDialog()
End Sub

Private Sub medicalViewer_PostPaint(ByVal sender As Object, ByVal e As MedicalViewerPaintInformationEventArgs)
   Dim medicalViewer As MedicalViewer = CType(sender, MedicalViewer)

   If medicalViewer.Cells(0).SubCellFrozen(e.SubCellIndex) Then
      e.Graphics.DrawLine(Pens.Red, New Point(e.ClipRectangle.Left, e.ClipRectangle.Top), New Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom))
      e.Graphics.DrawLine(Pens.Red, New Point(e.ClipRectangle.Right, e.ClipRectangle.Top), New Point(e.ClipRectangle.Left, e.ClipRectangle.Bottom))
   End If
End Sub
C#Copy Code
class MedicalViewerForm : Form 

   private MedicalViewer _medicalViewer; 
   void MedicalViewerForm_SizeChanged(object sender, EventArgs e) 
   { 
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); 
   } 
 
   public MedicalViewerForm() 
   { 
      RasterCodecs.Startup(); 
      RasterCodecs _codecs = new RasterCodecs(); 
      RasterImage _image; 
 
      this.SizeChanged += new EventHandler(MedicalViewerForm_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); 
 
      // add some action that will be used to change the properties of the images inside the control. 
      _medicalViewer.AddAction(MedicalViewerActionType.WindowLevel); 
      _medicalViewer.AddAction(MedicalViewerActionType.Alpha); 
      _medicalViewer.AddAction(MedicalViewerActionType.Offset); 
      _medicalViewer.AddAction(MedicalViewerActionType.NudgeTool); 
 
      // assign the added actions to a mouse button, meaning that when the user click and drag the mouse button, the associted action will be activated. 
      _medicalViewer.SetAction(MedicalViewerActionType.NudgeTool, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime); 
      _medicalViewer.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime); 
      _medicalViewer.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime); 
 
      // Load an image and then add it to the control. 
      _image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "xa.dcm"); 
      _medicalViewer.Cells.Add(new MedicalViewerCell(_image, true, 1, 1)); 
 
      // adjust some properties to the cell and add some tags. 
      _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); 
      _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); 
      _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); 
      _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); 
      _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); 
 
 
      // Load another image and then add it to the control. 
      _image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "mr.dcm"); 
      _medicalViewer.Cells.Add(new MedicalViewerCell(_image, true, 2, 2)); 
 
      // adjust some properties to the cell and add some tags. 
      _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); 
      _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); 
      _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); 
      _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); 
      _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); 
 
 
      RasterCodecs.Shutdown(); 
      Controls.Add(_medicalViewer); 
   } 
   public MedicalViewer Viewer 
   { 
      get { return _medicalViewer; } 
   } 

 
MedicalViewerForm GetMedicalControl() 

   return new MedicalViewerForm(); 

 
// This example will freeze the subcell with even numbers and then type the draw X in the middle of the frozen sub-cells. 
 
public void MedicalViewerPaintInformationExample() 

   MedicalViewerForm myForm = GetMedicalControl(); 
   MedicalViewer medicalViewer = myForm.Viewer; 
   int i; 
 
   for (i = 0; i < medicalViewer.Cells[0].Image.PageCount; i++) 
   { 
      if (((i >> 1) << 1) == i) 
         medicalViewer.Cells[0].FreezeSubCell(i, true); 
   } 
 
 
   medicalViewer.PostPaint += new EventHandler<MedicalViewerPaintInformationEventArgs>(medicalViewer_PostPaint); 
 
   myForm.ShowDialog(); 

 
void medicalViewer_PostPaint(object sender, MedicalViewerPaintInformationEventArgs e) 

   MedicalViewer medicalViewer = (MedicalViewer)sender; 
 
   if (medicalViewer.Cells[0].SubCellFrozen(e.SubCellIndex)) 
   { 
      e.Graphics.DrawLine(Pens.Red, new Point(e.ClipRectangle.Left, e.ClipRectangle.Top), new Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom)); 
      e.Graphics.DrawLine(Pens.Red, new Point(e.ClipRectangle.Right, e.ClipRectangle.Top), new Point(e.ClipRectangle.Left, e.ClipRectangle.Bottom)); 
   } 
}

Remarks

Use this class when handling the following events:

Inheritance Hierarchy

System.Object
   System.EventArgs
      System.Windows.Forms.PaintEventArgs
         Leadtools.MedicalViewer.MedicalViewerPaintInformationEventArgs

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

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