PaintChartEventArgs (Graphics gr, Rectangle rectangle)
constructor
Constructor for PaintChartEventArgs class with graphics, rectangle input parameters
Syntax
public PaintChartEventArgs (Graphics gr,Rectangle rectangle)
Parameters
gr — Graphics
rectangle — Rectangle
Example
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using PTLRuntime.NETScript;
using PTLRuntime.NETScript.Charts;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace CustomCrosshairExamples
{
public class CustomCrosshairExamples : NETStrategy
{
public override void OnQuote()
{
[InputParameter("Color", 0)]
public Color Color = Color.Blue;
[InputParameter("Width", 1)]
public int Width = 1;
[InputParameter("Style", 2, new object[] {
"Solid", DashStyle.Solid,
"Dot", DashStyle.Dot,
"Dash", DashStyle.Dash,
"DashDot", DashStyle.DashDot,
"DashDotDot", DashStyle.DashDotDot}
)]
public DashStyle Style = DashStyle.Solid;
public override void Init()
{
pen = new Pen(Color, Width);
pen.DashStyle = Style;
font = new Font("Tahoma", 10);
brush = new SolidBrush(Color);
LineVisible[0] = false;
}
private Pen pen;
private Font font;
private Brush brush;
public override void OnPaintChart(object sender, PaintChartEventArgs args)
{
Graphics gr = args.Graphics;
Rectangle rect = args.Rectangle;
//getting the cursor position in the client coordinates
Point clientPoint = CurrentChart.PointToClient(Cursor.Position);
int x = clientPoint.X;
int y = clientPoint.Y;
//draw anything when we out of the chart
if (x < rect.X || x > rect.X + rect.Width || y < r rect.Y || y > rect.Y + rect.Height)
return;
args.Graphics.DrawLine(pen, x, rect.Y, x, rect.Y + rect.Height);
args.Graphics.DrawLine(pen, rect.X, y, rect.X + rect.Width, y);
//getting price and time by client cooridnates
TimePrice timePrice = CurrentChart.GetTimePrice(x, y);
string text = Instruments.Current.FormatPrice(timePrice.Price) + "\n" + timePrice.Time.ToLocalTime().ToString("dd.MM.yyyy HH:mm");
args.Graphics.DrawString(text, font, brush, x + 15, y + 10);
}
}
}
}
Discussion
Join PTMC community to post your comments
No comments yet. Be the first.