TF-altProjekte/Experts/Ablage/GUIv2/eIncGUI_v2_Test_CHSrollBar.mq5
super.admin 84cd1a7ab0 convert
2025-05-30 16:31:33 +02:00

134 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();
}
}
}
//+------------------------------------------------------------------+