You need to enable JavaScript in order to visit our site!
 
Logo PTMC
NAVIGATION
CANCEL
 
or via PTMC account
Restore password
or via PTMC account
Logo PTMC
NAVIGATION
or via PTMC account
Restore password
or via PTMC account
or via PTMC account
Restore password
or via PTMC account

PaintChartEventArgs (Graphics gr, Rectangle rectangle)

constructor
Constructor for PaintChartEventArgs class with graphics, rectangle input parameters

Syntax

public PaintChartEventArgs 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.
PTMC is a professional trading platform that combines all the best charting and analytical tools to trade on different financial markets. It is developed by PFSOFT UK LTD, a global provider of trading technology for banks & brokers
© 2017. PTMC is based on Protrader technology
Head office
PFSOFT UK LTD
20 Centenary Avenue
South Shields, Tyne and Wear,
NE34 6QH
United Kingdom
Ukraine office
TOV PTMC
26, Naberezhna str., Dnipro,
Dnipropetrovs'k region,
Ukraine
Contact us
Phone: +380 56 740 31 01
E-mail: info@protrader.org
Skype: PTMC_support
Social groups