程序库: Easy Canvas - 页 15 1...8910111213141516171819 新评论 Facundo Laje 2022.08.24 19:00 #141 Nikolai Semko #:如果是在一个矩形物体上,那就不是。 画布也是一个对象。 您只能通过编程将画布对象的内容移动和缩放来将其 "转换 "为矩形对象。 从外观上看,它可以完全像一个矩形对象,在四角用小方块来控制。但在这个社区中,只有少数程序员能够实现这一点,包括我在内。如果我们谈论的是矩形内部内容的转换,那么我们可以从以下几个方面入手。如果我们谈论的是一个简单的填充或空矩形,任何程序员都能做到。 好的,尼古拉,我明白了。非常感谢! Nikolai Semko 2022.08.24 19:59 #142 Facundo Laje #:好的,尼古拉,我明白了。非常感谢! 没问题。 最新版本是 1.47,请点击这里: https://www.mql5.com/ru/code/22164 如果您对该主题感兴趣,我建议您使用谷歌翻译查看该俄语主题: https://www.mql5.com/ru/forum/227736 附加的文件: iCanvas_CB.mqh 57 kb Petr Zharuk 2022.11.07 12:32 #143 各位同事,大家好! 为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。 void OnTimer() { Canvas.Erase(0x00FFFFFF); for(int i = 0; i < 100 ; i++) { if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2)) { Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999); } } Canvas.Update(); } Nikolai Semko 2022.11.07 14:14 #144 Petr Zharuk #:祝你们愉快,同事们!为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。 void OnTimer() { Canvas.Erase(0x00FFFFFF); for(int i = 0; i < 100 ; i++) { if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2)) { Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999); } } Canvas.Update(); } 乍一看,我只发现了一个问题。对于 X 坐标,必须_X(double (i))函数 double Canvas.Bar(int x) 返回窗口 x 坐标处的条形图编号 Nikolai Semko 2022.11.07 15:30 #145 Petr Zharuk #:祝你们愉快,同事们!为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。void OnTimer() { Canvas.Erase(0x00FFFFFF); for(int i = 0; i < 100 ; i++) { if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2)) { Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999); } } Canvas.Update(); } 我来到我的电脑前: void OnTimer() { Canvas.Erase(0x00FFFFFF); for(int i = (int)W.Right_bar; i <= W.Left_bar ; i++) { if(iClose(_Symbol, _Period, i) > iClose(_Symbol, _Period, i + 1)) { Canvas.FillCircle((int)_X((double)i), (int)_Y(iClose(_Symbol, _Period, i)), 5, 0x88ff9999); } } Canvas.Update(); } Petr Zharuk 2022.11.07 15:55 #146 Nikolai Semko #:到了电脑前: 干杯,尼古拉 谢谢 Petr Zharuk 2022.11.08 00:18 #147 是否有如何使用粘附力放置文本的实现方法? 对齐之类的类似功能。或者至少有一个获取文本块大小的函数。 Nikolai Semko 2022.11.08 00:25 #148 Petr Zharuk #:是否实施了如何将文字与坚持相结合?对齐之类的类似功能。或者至少有一个获取文本块大小的函数。 https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextsize https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextout Petr Zharuk 2022.11.08 23:38 #149 Nikolai Semko #:https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextsizehttps://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextout 尼古拉斯,有没有用 Canvas 编写的界面元素进行交互的开发或示例? 例如,有两个 Canvas.Rectangle 按钮。 除了检查鼠标和按钮坐标的选项外,如何检查其中一个是否被点击? Nikolai Semko 2022.11.09 05:31 #150 Petr Zharuk #:尼古拉,有没有用 Canva 编写的界面元素进行交互的开发或示例?例如,有两个按钮 Canvas.Rectangle.X(矩形)和 Canvas.Rectangle.X(矩形)。除了检查鼠标和按钮坐标的选项外,如何检查其中一个是否被点击? 还没有 1...8910111213141516171819 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果是在一个矩形物体上,那就不是。
画布也是一个对象。
您只能通过编程将画布对象的内容移动和缩放来将其 "转换 "为矩形对象。
从外观上看,它可以完全像一个矩形对象,在四角用小方块来控制。但在这个社区中,只有少数程序员能够实现这一点,包括我在内。
如果我们谈论的是矩形内部内容的转换,那么我们可以从以下几个方面入手。如果我们谈论的是一个简单的填充或空矩形,任何程序员都能做到。
好的,尼古拉,我明白了。非常感谢!
好的,尼古拉,我明白了。非常感谢!
没问题。
最新版本是 1.47,请点击这里: https://www.mql5.com/ru/code/22164
如果您对该主题感兴趣,我建议您使用谷歌翻译查看该俄语主题:
https://www.mql5.com/ru/forum/227736
各位同事,大家好!
为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。
void OnTimer()
{
Canvas.Erase(0x00FFFFFF);
for(int i = 0; i < 100 ; i++)
{
if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2))
{
Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999);
}
}
Canvas.Update();
}
祝你们愉快,同事们!
为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。
void OnTimer()
{
Canvas.Erase(0x00FFFFFF);
for(int i = 0; i < 100 ; i++)
{
if(iClose(_Symbol, PERIOD_CURRENT, i + 1) > iClose(_Symbol, PERIOD_CURRENT, i + 2))
{
Canvas.Circle((int)_X(Canvas.Bar(i + 1)), (int)_Y(Canvas.Price(iClose(_Symbol, PERIOD_CURRENT, i + 1))), 5, 0x88ff9999);
}
}
Canvas.Update();
}
祝你们愉快,同事们!
为什么下面的代码对我不起作用?例如,我想在具有特定条件的条形图上画圆圈。
我来到我的电脑前:
到了电脑前:
干杯,尼古拉
谢谢
是否有如何使用粘附力放置文本的实现方法?
对齐之类的类似功能。或者至少有一个获取文本块大小的函数。
是否实施了如何将文字与坚持相结合?
对齐之类的类似功能。或者至少有一个获取文本块大小的函数。
https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextsize
https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextout
https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextsize
https://www.mql5.com/zh/docs/standardlibrary/canvasgraphics/ccanvas/ccanvastextout
尼古拉斯,有没有用 Canvas 编写的界面元素进行交互的开发或示例?
例如,有两个 Canvas.Rectangle 按钮。
除了检查鼠标和按钮坐标的选项外,如何检查其中一个是否被点击?
尼古拉,有没有用 Canva 编写的界面元素进行交互的开发或示例?
例如,有两个按钮 Canvas.Rectangle.X(矩形)和 Canvas.Rectangle.X(矩形)。
除了检查鼠标和按钮坐标的选项外,如何检查其中一个是否被点击?