مستطیل گرافیکی

مستطیل گرافیکی

برای اینکه یک مستطیل گرافیکی به وسیله اکسپرت یا اندیکاتور داخل چارت بیندازیم باید دو اقدام انجام دهیم:

مستطیل گرافیکی

1- تابع مستطیل گرافیکی را در اکسپرت یا اندیکاتور کپی کنید

				
					//+------------------------------------------------------------------+
//| مستطیل گرافیکی(Rectangle label)                                  |
//+------------------------------------------------------------------+

bool Rectangle_label(const long             chart_ID=0,               // ای دی چارت
                     const string           name="RectLabel",         // اسم
                     const int              sub_window=0,             // شماره پنجره
                     const int              x=0,                      // X مختصات 
                     const int              y=0,                      // Y مختصات
                     const int              width=50,                 // عرض
                     const int              height=18,                // ارتفاع
                     const color            back_clr=C'236,233,216',  // رنگ پس زمینه
                     const ENUM_BORDER_TYPE border=BORDER_SUNKEN,     // نوع خط کادر
                     const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
                     const color            clr=clrRed,               // رنگ کادر
                     const ENUM_LINE_STYLE  style=STYLE_SOLID,        // استایل کادر
                     const int              line_width=1,             // اندازه کادر
                     const bool             back=false,               // قرار گرفتن در پشت
                     const bool             selection=false,          // قابلیت حرکت
                     const bool             hidden=true,              // مخفی شدن از لیست
                     const long             z_order=0)                // اولویت برای کلیک ماوس
  {
   ResetLastError();
   if(ObjectCreate(chart_ID,name,OBJ_RECTANGLE_LABEL,sub_window,0,0))
   {
      ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
      ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
      ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
      ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
      ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border);
      ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
      ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
      ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,line_width);
      ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
      ChartRedraw();
      return(true);
   }
   else
    {
      Print(__FUNCTION__,
            ": failed to create => ",name," object! Error code = ",GetLastError());
      return(false);
     }

}
   
				
			

2- فراخوانی تابع مستطیل گرافیکی و مقدار دهی آن

به تابع مستطیل گرافیکی، 17 ورودی دادیم که رو به روی هر ورودی نوشته‌ایم چه کاری برای ما انجام میدهد که شما بر حسب نیازتان بتوانید خط دلخواهتان را بکشید.

ما در پایین کدی که برای کشیدن یک مستطیل لازم است را نوشته‌ایم و کافی است شما آن را در جای مناسب کپی کنید.

تنها کافی است اسم و مختصات X ‌و Y و عرض و ارتفاع را تغییر دهید.
همچنین میتوانید رنگ دلخواهتان را انتخاب کنید و بجای رنگی که ما قرار دادیم بگذارید.

نکته: اسم‌ها نباید یکسان باشند و برای هر آبجکتی باید اسم منحصر‌ به فردی انتخاب کرد.

برای فراخوانی، کد زیر را در تابع OnInit کپی کنید.

				
					Rectangle_label(0,"lable1",0,150,120,260,290,clrOrangeRed,BORDER_FLAT,0);
				
			

شما میتوانید کد بالا را کپی کنید و مقدار دلخواهتان را تغییر دهید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *