public class MedicalViewerUserTagEventArgs : PaintEventArgs
public ref class MedicalViewerUserTagEventArgs : public System.Windows.Forms.PaintEventArgs, System.IDisposable
using Leadtools;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
public void MedicalViewerEventsExample()
{
MainForm3 form = new MainForm3();
form.ShowDialog();
}
// MainForm1 will be the owner of the medical viewer control.
class MainForm3 : Form
{
private MedicalViewer _medicalViewer;
private bool _mouseDown;
void _medicalViewer_UserActionMouseMove(object sender, MedicalViewerMouseEventArgs e)
{
// Increase the gamma of the image as the user drags the mouse.
if ((e.ActionID == 101) && _mouseDown)
{
((MedicalViewerCell)sender).Image.PaintGamma += 1;
((MedicalViewerCell)sender).Invalidate();
}
}
void _medicalViewer_UserActionMouseUp(object sender, MedicalViewerMouseEventArgs e)
{
_mouseDown = false;
}
void _medicalViewer_UserActionMouseDown(object sender, MedicalViewerMouseEventArgs e)
{
_mouseDown = true;
}
void _medicalViewer_UserActionKeyDown(object sender, MedicalViewerKeyEventArgs e)
{
if (((MedicalViewerCell)sender).Image.PaintGamma > 1)
((MedicalViewerCell)sender).Image.PaintGamma -= 1;
}
void _medicalViewer_UserActionKeyUp(object sender, MedicalViewerKeyEventArgs e)
{
((MedicalViewerCell)sender).Invalidate();
}
void _medicalViewer_CustomPaint(object sender, MedicalViewerPaintEventArgs e)
{
// draw red ellipse around the first frame of the first cell.
if ((e.CellIndex == 0) && (e.SubCellIndex == 0))
e.Graphics.DrawEllipse(Pens.Red, e.ClipRectangle);
}
void _medicalViewer_UserTag(object sender, MedicalViewerUserTagEventArgs e)
{
// draw red string at the bottom right edge of the first cell.
if (e.CellIndex == 0)
e.Graphics.DrawString("Owner Draw", new Font(FontFamily.GenericSerif, 15), Brushes.Red, new PointF(e.ClipRectangle.Left, e.ClipRectangle.Top));
}
public MainForm3()
{
RasterCodecs _codecs = new RasterCodecs();
RasterImage _image;
// Create the medical viewer and adjust some properties.
_medicalViewer = new MedicalViewer();
_medicalViewer.Rows = 1;
_medicalViewer.Columns = 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, "image3.dcm"));
MedicalViewerCell cell = new MedicalViewerCell(_image, true);
cell.AddAction((MedicalViewerActionType)101);
cell.SetAction((MedicalViewerActionType)101, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
cell.SetActionKeys((MedicalViewerActionType)101, new MedicalViewerKeys(Keys.Up, Keys.Down, Keys.Left, Keys.Right, MedicalViewerModifiers.None));
cell.UserTag += new EventHandler<MedicalViewerUserTagEventArgs>(_medicalViewer_UserTag);
cell.CustomPaint += new EventHandler<MedicalViewerPaintEventArgs>(_medicalViewer_CustomPaint);
cell.UserActionMouseDown += new EventHandler<MedicalViewerMouseEventArgs>(_medicalViewer_UserActionMouseDown);
cell.UserActionMouseUp += new EventHandler<MedicalViewerMouseEventArgs>(_medicalViewer_UserActionMouseUp);
cell.UserActionMouseMove += new EventHandler<MedicalViewerMouseEventArgs>(_medicalViewer_UserActionMouseMove);
cell.UserActionKeyUp += new EventHandler<MedicalViewerKeyEventArgs>(_medicalViewer_UserActionKeyUp);
cell.UserActionKeyDown += new EventHandler<MedicalViewerKeyEventArgs>(_medicalViewer_UserActionKeyDown);
_medicalViewer.Cells.Add(cell);
// 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);
cell.SetTag(1, MedicalViewerTagAlignment.TopRight, MedicalViewerTagType.UserData, "Good, Guy");
cell.SetTag(2, MedicalViewerTagAlignment.TopRight, MedicalViewerTagType.UserData, "PID 125-98-445");
cell.SetTag(3, MedicalViewerTagAlignment.TopRight, MedicalViewerTagType.UserData, "DOB 08/02/1929");
cell.SetTag(5, MedicalViewerTagAlignment.TopRight, MedicalViewerTagType.UserData, "03/16/1999");
cell.SetTag(0, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.RulerUnit);
cell.SetTag(0, MedicalViewerTagAlignment.BottomRight, MedicalViewerTagType.OwnerDraw);
Controls.Add(_medicalViewer);
_medicalViewer.Dock = DockStyle.Fill;
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
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