EaCode小胖李 发表于 2022-12-27 21:38:34

SwitchButton()创建开关按钮,按下开启,弹起关闭

函数名称
void SwitchButton(string name,int x,int y,int width,int height,string text,string switchText,int fontSize=10,bool reverse=false, string font="Arial",color clr=clrBlack, color backClr=clrDeepSkyBlue,int corner=0)
函数介绍

SwitchButton()创建的按钮是开关按钮,按钮可以按下和弹起。按钮按下的时候可以视为开,按钮弹起的时候可以视为关。开发策略的时候我们可以检测按钮的状态,依据其状态进行相关的操作。





//举例:创建多单和空单的交易开关。   
   SwitchButton("按钮名称1",30,30,80,30,"开启多单","开启中...");
   SwitchButton("按钮名称2",120,30,80,30,"开启空单","开启中...");

参数介绍

name:开关按钮的名称,如果需要设置多个开关,名称需要不同
x:X轴的值
y:Y轴的值
width:按钮的宽
height:按钮的高
text:按钮默认状态(弹起状态)显示的文字
switchText:按钮按下时(打开时)显示的文字
fontSize:文本的字号
reverse:是否反转,默认是false。如果为true,弹起按下状态反转
font:文本的字体,默认Arial
clr:文本的颜色,默认clrBlack
backClr:按钮的颜色,默认clrDeepSkyBlue
corner:文本的位置,默认0。0代表左上角,1代表右上角,2代表左下角,3代表右下角

函数定义

注意:本人发布的函数均为实战开发所用,低价或免费发布并不赚钱,仅限懂编程的朋友使用,不提供指导,因为人工成本巨贵,感谢朋友们海涵。void SwitchButton(string name,int x,int y,int width,int height,string text,string switchText,int fontSize=10,bool reverse=false, string font="Arial",color clr=clrBlack, color backClr=clrDeepSkyBlue,int corner=0)
{

   if(ObjectFind(0,name)==-1)
      ObjectCreate(0,name,OBJ_BUTTON,0,0,0);

   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   ObjectSetInteger(0,name,OBJPROP_XSIZE,width);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,height);
   ObjectSetString(0,name,OBJPROP_FONT,font);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,fontSize);
   ObjectSetInteger(0,name,OBJPROP_CORNER,corner);

   if(reverse)
      ObjectSetInteger(0,name,OBJPROP_STATE,1);
   if(ObjectGetInteger(0,name,OBJPROP_STATE)==0)
   {
      ObjectSetString(0,name,OBJPROP_TEXT,text);
      ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
      ObjectSetInteger(0,name,OBJPROP_BGCOLOR,backClr);
      ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,backClr);
   }
   else
   {
      ObjectSetString(0,name,OBJPROP_TEXT,switchText);
      ObjectSetInteger(0,name,OBJPROP_COLOR,backClr);
      ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clr);
      ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,backClr);
   }
}

ea12213 发表于 2023-1-17 19:56:44

按下的时候可以视为开

dongxu64 发表于 2023-1-28 23:47:16

谢谢楼主,辛苦。

ken138888 发表于 2023-2-2 13:22:37

谢谢分享

liguangxing2007 发表于 2024-8-19 10:12:47

我也想用用看看

bestvishes 发表于 2024-8-19 16:30:49

这个功能不错啊

xinhua123 发表于 2025-12-7 01:27:23

试试这个
页: [1]
查看完整版本: SwitchButton()创建开关按钮,按下开启,弹起关闭