Error processing SSI file
LEADTOOLS Medical (Leadtools.MedicalViewer assembly)

Show in webframe

MedicalViewerActiveSubCellChangedEventArgs Class






Members 
The MedicalViewerActiveSubCellChangedEventArgs class provides data about the MedicalViewerMultiCell.ActiveSubCellChanged event.
Object Model
Syntax
public class MedicalViewerActiveSubCellChangedEventArgs : System.EventArgs
'Declaration   Public Class MedicalViewerActiveSubCellChangedEventArgs    Inherits System.EventArgs
'Usage   Dim instance As MedicalViewerActiveSubCellChangedEventArgs
public ref class MedicalViewerActiveSubCellChangedEventArgs : public System.EventArgs
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer

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()
      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)

      ' 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)

          ' add some actions that will be used to change the properties of the images inside the control.
      cell.AddAction(MedicalViewerActionType.WindowLevel)
      cell.AddAction(MedicalViewerActionType.Alpha)
      cell.AddAction(MedicalViewerActionType.Offset)
      cell.AddAction(MedicalViewerActionType.Stack)

          ' 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.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active)
          cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
          cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
          cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

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

          _medicalViewer.Cells.Add(cell)



          ' Load another image and then add it to the control.
          _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm"))
          Dim cell1 As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 2, 2)
          _medicalViewer.Cells.Add(cell1)

          ' add some actions that will be used to change the properties of the images inside the control.
          cell1.AddAction(MedicalViewerActionType.WindowLevel)
          cell1.AddAction(MedicalViewerActionType.Alpha)
          cell1.AddAction(MedicalViewerActionType.Offset)
          cell1.AddAction(MedicalViewerActionType.Stack)

          ' 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.
          cell1.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active)
          cell1.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active)
          cell1.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active)
          cell1.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active)

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


      Controls.Add(_medicalViewer)
      _medicalViewer.Dock = DockStyle.Fill
   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 link the active sub-cell of the  first cell to the second cell and vice versa.
<TestMethod()> _
Public Sub MedicalViewerActiveSubCellChangedExample()
   Dim myForm As MedicalViewerForm = GetMedicalControl()
   Dim medicalViewer As MedicalViewer = myForm.Viewer


   Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell)
   Dim cell1 As MedicalViewerMultiCell = CType(medicalViewer.Cells(1), MedicalViewerMultiCell)

   AddHandler cell.ActiveSubCellChanged, AddressOf medicalViewer_ActiveSubCellChanged
   AddHandler cell1.ActiveSubCellChanged, AddressOf cell1_ActiveSubCellChanged
   myForm.ShowDialog()
End Sub

Private Sub cell1_ActiveSubCellChanged(ByVal sender As Object, ByVal e As MedicalViewerActiveSubCellChangedEventArgs)
   medicalViewer_ActiveSubCellChanged(sender, e)
End Sub

Private Sub medicalViewer_ActiveSubCellChanged(ByVal sender As Object, ByVal e As MedicalViewerActiveSubCellChangedEventArgs)
   Dim cell As MedicalViewerMultiCell = CType(sender, MedicalViewerMultiCell)
   Dim index As Integer
   If (e.CellIndex = 1) Then
      index = 0
   Else
      index = 1
   End If
   Dim theOtherCell As MedicalViewerMultiCell = CType(cell.ParentViewer.Cells(index), MedicalViewerMultiCell)


   Dim stackProperties As MedicalViewerStack = CType(theOtherCell.GetActionProperties(MedicalViewerActionType.Stack), MedicalViewerStack)

   stackProperties.ActiveSubCell = e.SubCellIndex Mod (theOtherCell.Rows * theOtherCell.Columns)
   stackProperties.ScrollValue = e.SubCellIndex - stackProperties.ActiveSubCell
   theOtherCell.SetActionProperties(MedicalViewerActionType.Stack, stackProperties)
   stackProperties.Dispose()

End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;

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 _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);

      // 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);

      // add some actions that will be used to change the properties of the images inside the control.
      cell.AddAction(MedicalViewerActionType.WindowLevel);
      cell.AddAction(MedicalViewerActionType.Alpha);
      cell.AddAction(MedicalViewerActionType.Offset);
      cell.AddAction(MedicalViewerActionType.Stack);

      // 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.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active);
      cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
      cell.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
      cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

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

      _medicalViewer.Cells.Add(cell);



      // Load another image and then add it to the control.
      _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"mr.dcm"));
      MedicalViewerMultiCell cell1 = new MedicalViewerMultiCell(_image, true, 2, 2);
      _medicalViewer.Cells.Add(cell1);

      // add some actions that will be used to change the properties of the images inside the control.
      cell1.AddAction(MedicalViewerActionType.WindowLevel);
      cell1.AddAction(MedicalViewerActionType.Alpha);
      cell1.AddAction(MedicalViewerActionType.Offset);
      cell1.AddAction(MedicalViewerActionType.Stack);

      // 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.
      cell1.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active);
      cell1.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
      cell1.SetAction(MedicalViewerActionType.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
      cell1.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);

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


      Controls.Add(_medicalViewer);
      _medicalViewer.Dock = DockStyle.Fill;
   }
   public MedicalViewer Viewer
   {
      get { return _medicalViewer; }
   }
}

MedicalViewerForm GetMedicalControl()
{
   return new MedicalViewerForm();
}

// This example will link the active sub-cell of the  first cell to the second cell and vice versa.
[TestMethod]
public void MedicalViewerActiveSubCellChangedExample()
{
   MedicalViewerForm myForm = GetMedicalControl();
   MedicalViewer medicalViewer = myForm.Viewer;


   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]);
   MedicalViewerMultiCell cell1 = (MedicalViewerMultiCell)(medicalViewer.Cells[1]);

   cell.ActiveSubCellChanged += new EventHandler<MedicalViewerActiveSubCellChangedEventArgs>(medicalViewer_ActiveSubCellChanged);
   cell1.ActiveSubCellChanged += new EventHandler<MedicalViewerActiveSubCellChangedEventArgs>(cell1_ActiveSubCellChanged);
   myForm.ShowDialog();
}

void cell1_ActiveSubCellChanged(object sender, MedicalViewerActiveSubCellChangedEventArgs e)
{
   medicalViewer_ActiveSubCellChanged(sender, e);
}

void medicalViewer_ActiveSubCellChanged(object sender, MedicalViewerActiveSubCellChangedEventArgs e)
{
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)sender;
   int index = (e.CellIndex == 1) ? 0 : 1;
   MedicalViewerMultiCell theOtherCell = (MedicalViewerMultiCell)(cell.ParentViewer.Cells[index]);


   MedicalViewerStack stackProperties = (MedicalViewerStack)theOtherCell.GetActionProperties(MedicalViewerActionType.Stack);

   stackProperties.ActiveSubCell = e.SubCellIndex % (theOtherCell.Rows * theOtherCell.Columns);
   stackProperties.ScrollValue = e.SubCellIndex - stackProperties.ActiveSubCell;
   theOtherCell.SetActionProperties(MedicalViewerActionType.Stack, stackProperties);
   stackProperties.Dispose();

}

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

Target Platforms

See Also

Reference

MedicalViewerActiveSubCellChangedEventArgs Members
Leadtools.MedicalViewer Namespace

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