public void HandleMouseDown(
MedicalViewerActionType actionType,
Control control,
MouseEventArgs args,
int objectIndex
)
Public Sub HandleMouseDown( _
ByVal actionType As MedicalViewerActionType, _
ByVal control As Control, _
ByVal args As MouseEventArgs, _
ByVal objectIndex As Integer _
)
public:
void HandleMouseDown(
MedicalViewerActionType actionType,
Control^ control,
MouseEventArgs^ args,
int objectIndex
)
actionType
Leadtools.MedicalViewer.MedicalViewerActionType that represents the action that You wants to perform.
control
The control where the objects are rendered.
args
System.Windows.Forms.MouseEventArgs that represents the arguments that are received through one of the mouse events. You must pass the mouse event arguments that were received from the various mouse events, such as MouseDown, MouseUp, MouseMove, etc.
objectIndex
A zero-based index of the object that will receive the effects of handling the mouse event through this method.
This method will automatically handle complicated mouse tasks and will perform the preset the actions.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.Medical3D;
public void Medical3DControlExample()
{
Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples();
MedicalViewerSeriesManager output = LoadObject.LoadJamesHead();
MainForm1 form = new MainForm1(output);
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class MainForm1 : Form
{
private Medical3DContainer container;
public MainForm1(MedicalViewerSeriesManager output)
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
CodecsImageInfo codecsInformation;
this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing);
container = new Medical3DContainer();
container.Objects.Add(new Medical3DObject());
int index;
codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true);
int width = codecsInformation.Width;
int height = codecsInformation.Height;
int depth = 256;
container.Objects[0].MemoryEfficientInit(depth);
for (index = 0; index < depth; index++)
{
_image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1);
container.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true);
}
string spearator = ("\\");
string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray());
float[] orientation = new float[6];
int i;
for (i = 0; i < 6; i++)
{
orientation[i] = (float)Convert.ToDouble(test[i]);
}
container.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing);
this.MouseDown += new MouseEventHandler(_control_MouseDown);
this.MouseMove += new MouseEventHandler(_control_MouseMove);
this.MouseUp += new MouseEventHandler(_control_MouseUp);
}
protected override void OnSizeChanged(EventArgs e)
{
container.Render(this);
}
protected override void OnPaint(PaintEventArgs e)
{
container.Render(this);
}
void MainForm1_FormClosing(object sender, FormClosingEventArgs e)
{
container.Dispose();
}
void _control_MouseUp(object sender, MouseEventArgs e)
{
container.HandleMouseUp(this, e, 0);
}
void _control_MouseMove(object sender, MouseEventArgs e)
{
container.HandleMouseMove(this, e, 0);
}
void _control_MouseDown(object sender, MouseEventArgs e)
{
container.HandleMouseDown(MedicalViewerActionType.Rotate3DObject, this, e, 0);
}
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.MedicalViewer
Imports Leadtools.Medical3D
Public Sub Medical3DControlExample()
Dim LoadObject As Medical3DLoadDICOMSeriesExamples = New Medical3DLoadDICOMSeriesExamples()
Dim output As MedicalViewerSeriesManager = LoadObject.LoadJamesHead()
Dim form As MainForm1 = New MainForm1(output)
form.ShowDialog()
End Sub
' MainForm1 will be the owner of the medical viewer control.
Private Class MainForm1 : Inherits Form
Private mycontainer As Medical3DContainer
Public Sub New(ByVal output As MedicalViewerSeriesManager)
Dim _codecs As RasterCodecs = New RasterCodecs()
Dim _image As RasterImage
Dim codecsInformation As CodecsImageInfo
AddHandler FormClosing, AddressOf MainForm1_FormClosing
mycontainer = New Medical3DContainer()
mycontainer.Objects.Add(New Medical3DObject())
Dim index As Integer
codecsInformation = _codecs.GetInformation(CStr(output.Stacks(0).Items(0).Data), True)
Dim width As Integer = codecsInformation.Width
Dim height As Integer = codecsInformation.Height
Dim depth As Integer = 256
mycontainer.Objects(0).MemoryEfficientInit(depth)
index = 0
Do While index < depth
_image = _codecs.Load(CStr(output.Stacks(0).Items(index).Data), 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1)
mycontainer.Objects(0).MemoryEfficientSetFrame(_image, index, output.Stacks(0).Items(index).ImagePosition, True)
index += 1
Loop
Dim spearator As String = ("\")
Dim test As String() = output.Stacks(0).Items(0).ImageOrientation.Split(spearator.ToCharArray())
Dim orientation As Single() = New Single(5) {}
Dim i As Integer
For i = 0 To 5
orientation(i) = CSng(Convert.ToDouble(test(i)))
Next i
mycontainer.Objects(0).MemoryEfficientEnd(orientation, output.Stacks(0).PixelSpacing)
AddHandler MouseDown, AddressOf _control_MouseDown
AddHandler MouseMove, AddressOf _control_MouseMove
AddHandler MouseUp, AddressOf _control_MouseUp
End Sub
Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
mycontainer.Render(Me)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
mycontainer.Render(Me)
End Sub
Private Sub MainForm1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs)
mycontainer.Dispose()
End Sub
Private Sub _control_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
mycontainer.HandleMouseUp(Me, e, 0)
End Sub
Private Sub _control_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
mycontainer.HandleMouseMove(Me, e, 0)
End Sub
Private Sub _control_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
mycontainer.HandleMouseDown(MedicalViewerActionType.Rotate3DObject, Me, e, 0)
End Sub
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document