一个有按钮的任务! - 页 8 12345678 新评论 [删除] 2015.09.24 12:51 #71 也是一种选择。只是你不需要在每次打勾 时都创建它们。 Rorschach 2015.09.24 15:33 #72 static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; } } 如果按钮名称不是数字,那么就把名称放在一个数组中。 Vladimir Pastushak 2015.09.28 17:07 #73 Rorschach: 如果按钮名称不是数字,那么这些名称将被存储在一个数组中。 前一个按钮一直按着,直到下一个循环呼叫... Vladimir Pastushak 2015.09.28 17:14 #74 我不知道这是否是正确的方法,但它解决了这个问题 static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; i=0; } } Rorschach 2015.09.30 22:07 #75 static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(But && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; ChartRedraw(); break; } } 也许是这样,还没有试过。 Vladimir Pastushak 2015.09.30 22:15 #76 Rorschach: 也许是这样,我还没有试过。我的决定有点不同static string name=NULL; for(int i=0;i<10;i++) { bool But=ObjectGetInteger(0,(string)i,OBJPROP_STATE); if(but && name!=(string)i) { ObjectSetInteger(0,name,OBJPROP_STATE,false); name=(string)i; i=0; } }我没有检查你的最后一个变体,但我怀疑如果按了索引10的按钮,然后按了索引9,那么索引10就不会被按下,因为循环在索引9处被打破...... 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果按钮名称不是数字,那么这些名称将被存储在一个数组中。
我不知道这是否是正确的方法,但它解决了这个问题
也许是这样,我还没有试过。
我的决定有点不同
我没有检查你的最后一个变体,但我怀疑如果按了索引10的按钮,然后按了索引9,那么索引10就不会被按下,因为循环在索引9处被打破......