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