135 lines
4 KiB
MQL5
135 lines
4 KiB
MQL5
|
//+------------------------------------------------------------------+
|
||
|
//| eIncGUI_v2_Test_CHSrollBar.mq5 |
|
||
|
//| Copyright 2011, MetaQuotes Software Corp. |
|
||
|
//| http://www.mql5.com |
|
||
|
//+------------------------------------------------------------------+
|
||
|
#property copyright "Copyright 2011, MetaQuotes Software Corp."
|
||
|
#property link "http://www.mql5.com"
|
||
|
#property version "1.00"
|
||
|
|
||
|
#include <IncGUI_v2.mqh>
|
||
|
|
||
|
enum eColorScheme
|
||
|
{
|
||
|
DefaultScheme=0,
|
||
|
YellowBrownScheme=1,
|
||
|
BlueScheme=2,
|
||
|
GreenScheme=3,
|
||
|
YellowBlackScheme=4,
|
||
|
LimeBlackScheme=5,
|
||
|
AquaBlackScheme=6
|
||
|
};
|
||
|
|
||
|
input eColorScheme ColorScheme=DefaultScheme;
|
||
|
|
||
|
CHScrollBar hsb;
|
||
|
//+------------------------------------------------------------------+
|
||
|
//| Expert initialization function |
|
||
|
//+------------------------------------------------------------------+
|
||
|
int OnInit()
|
||
|
{
|
||
|
|
||
|
ClrScheme.SetScheme(ColorScheme);
|
||
|
|
||
|
//--- CVSrollBar
|
||
|
hsb.Init("CHSrollBar",100,1);
|
||
|
hsb.SetPos(10,180);
|
||
|
hsb.SetSubWindow("TestSubWindow");
|
||
|
hsb.Show();
|
||
|
|
||
|
w.Button("b1",0,10,20,350,20,"Change value to 10");
|
||
|
w.Button("b2",0,10,45,350,20,"Change value to 50");
|
||
|
w.Button("b3",0,10,70,350,20,"Change value to 90");
|
||
|
w.Button("b4",0,10,95,350,20,"Change Min=100, Max=10000, SmallChange=100, LageChange=1000");
|
||
|
w.Button("b5",0,10,120,350,20,"Change Min=1, Max=100, SmallChange=1, LageChange=10");
|
||
|
w.Button("b6",0,10,145,350,20,"Check value");
|
||
|
w.Redraw();
|
||
|
return(0);
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|
||
|
//| Expert deinitialization function |
|
||
|
//+------------------------------------------------------------------+
|
||
|
void OnDeinit(const int reason)
|
||
|
{
|
||
|
w.Delete("b1");
|
||
|
w.Delete("b2");
|
||
|
w.Delete("b3");
|
||
|
w.Delete("b4");
|
||
|
w.Delete("b5");
|
||
|
w.Delete("b6");
|
||
|
hsb.Hide();
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|
||
|
//| Expert tick function |
|
||
|
//+------------------------------------------------------------------+
|
||
|
void OnTick()
|
||
|
{
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|
||
|
//| ChartEvent function |
|
||
|
//+------------------------------------------------------------------+
|
||
|
void OnChartEvent(const int id,
|
||
|
const long &lparam,
|
||
|
const double &dparam,
|
||
|
const string &sparam)
|
||
|
{
|
||
|
int ev;
|
||
|
ev=hsb.Event(id,lparam,dparam,sparam);
|
||
|
if(ev==1)
|
||
|
{
|
||
|
Alert("CVSrollBar. New value "+DoubleToString(hsb.Value(),0));
|
||
|
}
|
||
|
if(CHARTEVENT_CHART_CHANGE)
|
||
|
{
|
||
|
hsb.SetSubWindow("TestSubWindow");
|
||
|
}
|
||
|
if(CHARTEVENT_OBJECT_CLICK)
|
||
|
{
|
||
|
if(sparam=="b1")
|
||
|
{
|
||
|
hsb.SetValue(10);
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
if(sparam=="b2")
|
||
|
{
|
||
|
hsb.SetValue(50);
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
if(sparam=="b3")
|
||
|
{
|
||
|
hsb.SetValue(90);
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
if(sparam=="b4")
|
||
|
{
|
||
|
hsb.SetMin(100);
|
||
|
hsb.SetMax(10000);
|
||
|
hsb.SetSmallChange(100);
|
||
|
hsb.SetLageChange(1000);
|
||
|
hsb.Refresh();
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
if(sparam=="b5")
|
||
|
{
|
||
|
hsb.SetMin(1);
|
||
|
hsb.SetMax(100);
|
||
|
hsb.SetSmallChange(1);
|
||
|
hsb.SetLageChange(10);
|
||
|
hsb.Refresh();
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
if(sparam=="b6")
|
||
|
{
|
||
|
Alert("Value: "+IntegerToString(hsb.Value()));
|
||
|
g.SetState(sparam,false);
|
||
|
g.Redraw();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|