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
_medicalViewer = New MedicalViewer(1, 2)
_medicalViewer.Location = New Point(0, 0)
_medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom)
_medicalViewer.AddAction(MedicalViewerActionType.WindowLevel)
_medicalViewer.AddAction(MedicalViewerActionType.Alpha)
_medicalViewer.AddAction(MedicalViewerActionType.Offset)
_medicalViewer.AddAction(MedicalViewerActionType.Stack)
_medicalViewer.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime)
_medicalViewer.SetAction(MedicalViewerActionType.WindowLevel, 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)
_image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "xa.dcm")
_medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 1, 1))
_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)
_image = _codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "mr.dcm")
_medicalViewer.Cells.Add(New MedicalViewerCell(_image, True, 2, 2))
_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
<Test> _
Public Sub MedicalViewerActiveSubCellChangedExample()
Dim myForm As MedicalViewerForm = GetMedicalControl()
Dim medicalViewer As MedicalViewer = myForm.Viewer
AddHandler medicalViewer.ActiveSubCellChanged, AddressOf medicalViewer_ActiveSubCellChanged
myForm.ShowDialog()
End Sub
Private Sub medicalViewer_ActiveSubCellChanged(ByVal sender As Object, ByVal e As MedicalViewerActiveSubCellChangedEventArgs)
Dim viewer As MedicalViewer = CType(sender, MedicalViewer)
Dim index As Integer
If (e.CellIndex = 1) Then
index = 0
Else
index = 1
End If
Dim stackProperties As MedicalViewerStack = CType(viewer.GetActionProperties(MedicalViewerActionType.Stack), MedicalViewerStack)
stackProperties.ActiveSubCell = e.SubCellIndex Mod (viewer.Rows * viewer.Columns)
stackProperties.ScrollValue = e.SubCellIndex - stackProperties.ActiveSubCell
viewer.SetActionProperties(MedicalViewerActionType.Stack, stackProperties)
End Sub |