帆布很酷! - 页 27 1...202122232425262728293031323334...93 新评论 Nikolai Semko 2019.08.24 08:05 #261 Aлександр Антошкин:双头鹰以不同的形状、颜色和版本出现在我们的国徽上已经有五个多世纪了--从伊凡三世时期的莫斯科国家到1918年,作为基因突变的结果.....。 你想在彼得身上纠正的是什么呢? 我不明白这个逻辑。你在哪里看到我想纠正某人的东西? Реter Konow 2019.08.24 08:28 #262 Nikolai Semko: 我不明白这个逻辑。你在哪里看到我想从别人那里纠正什么? 这是一种微妙的嘲弄。暗示我是基因突变的一个不可救药的后果)。我看了作者的其他帖子,认为他自己是我们论坛上的一个实验性人工智能。)) https://www.mql5.com/ru/forum/221552/page1485#comment_12959767 От теории к практике 2019.08.23www.mql5.com Добрый вечер, уважаемые трейдеры! Решил было на какое-то время покинуть форум, и сразу как-то скучно стало:)))) А просто читать, увы - неинтересно... fxsaber 2019.08.24 21:30 #263 Aleksey Vyazmikin: 蜱虫是这样呈现的吗? 关于交易、自动交易系统和策略测试的论坛 指标:ZoomPrice Tick指标 fxsaber, 2016.11.01 21:10 Aleksey Vyazmikin 2019.08.24 21:43 #264 fxsaber: 我的意思是,刻度线应该以条形 呈现--比如说,每条5秒。 Evgeny Potapov 2019.09.11 13:52 #265 你好! 是否可以使用Canvas来创建面板?(CAppDialog)。 直接使用 Add() ,显然不能将 CCanvas 对象添加到面板中。 也许有一个变通办法,例如先创建一个资源,然后,把它当作一个更简单的对象,你可以把它绑定到CAppDialog上? 但我甚至不确定该用什么功能来尝试玩这样的把戏。 不管怎么说,帮助! 这条线上有这么多好东西,在这种背景下,我的任务似乎很简单!"。 Nikolai Semko 2019.09.12 01:25 #266 Evgeny Potapov: 你好! 是否可以使用Canvas来创建面板?(CAppDialog)。 直接使用 Add() ,显然不能将 CCanvas 对象添加到面板中。 也许有一个变通办法,例如先创建一个资源,然后,把它当作一个更简单的对象,你可以把它绑定到CAppDialog上? 但我甚至不确定该用什么功能来尝试玩这样的把戏。 不管怎么说,帮助! 这个话题有这么多精彩的内容,在这样的背景下,我的任务似乎很简单! 我担心这行不通。 因为CAppDialog是在OBJ_RECTANGLE对象上绘制的,而CCanvas是OBJ_BITMAP_LABEL对象,没有办法让它们交叉。 但可以在面板窗口的顶部画一个画布,并监视面板的变化,同时重画画布。 像这样。 // это эксперт #define protected public // увы, это необходимо, чтобы расширить наши возможности #include <Controls\Dialog.mqh> #include <Canvas\Canvas.mqh> #undef protected CAppDialog D; CCanvas C; int OnInit() { if(!D.Create(0,"AppWindow",0,100,100,400,300)) return(INIT_FAILED); D.Run(); if(!C.CreateBitmapLabel(D.m_chart_id,D.m_subwin,D.m_name+"_Canvas",D.m_rect.left,D.m_rect.top,D.m_rect.right-D.m_rect.left,D.m_rect.bottom-D.m_rect.top,COLOR_FORMAT_ARGB_NORMALIZE)) Print("Error creating canvas: ",GetLastError()); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { D.Destroy(reason); C.Destroy(); } //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam) { static int X=0, Y=0; D.ChartEvent(id,lparam,dparam,sparam); if (D.m_rect.left!=X || D.m_rect.top!=Y) { DrawCanvas(); X=D.m_rect.left; Y=D.m_rect.top;} } //+------------------------------------------------------------------+ void DrawCanvas() { // изменяем канвас в соответсвии положения и размера панели static int w=0, h=0, tf=0; int x=D.m_rect.left; int y=D.m_rect.top; int width = D.m_rect.right-x; int height =D.m_rect.bottom-y; ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_XDISTANCE,x); ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_YDISTANCE,y); if (w!=width) ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_XSIZE,width); if (h!=height) ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_YSIZE,height); if(w!=width || h!=height || tf!=_Period) { C.Erase(); // здесь формируем рисунок на панели C.FillCircle(50,20,30,ColorToARGB(clrViolet,200)); C.FillCircle(100,100,50,ColorToARGB(clrLightBlue,100)); C.Rectangle(200,50,250,150,ColorToARGB(clrAqua)); //---------------------------------- C.Update(); tf=_Period; w=width; h=height; } } 但由于面板是一个对象的集合,只需在这个集合中再添加一个对象。 所以,这样一来,kanvas就只在面板坐标的一个地方(本例中的DrawCanvas函数)绘制,我不需要担心把它附加到面板上并重新绘制。 Aleksei Beliakov 2019.09.12 06:20 #267 if (D.m_rect.left!=X || D.m_rect.top!=Y) DrawCanvas(); else {X=D.m_rect.left; Y=D.m_rect.top;}Else сработает только когда left=x и top=y , тогда зачем их присваивать ещё раз Nikolai Semko 2019.09.12 09:05 #268 Aleksei Beliakov: 是的,谢谢你,阿列克谢。慢下来了 )) 纠正了。 Evgeny Potapov 2019.09.12 14:20 #269 Nikolai Semko: 我担心这将不会起作用。 因为CAppDialog是使用OBJ_RECTANGLE对象绘制的,而CCanvas是OBJ_BITMAP_LABEL对象,没有办法将它们合并。 谢谢你!这个变体看起来相当逼真! 是否可以扩展CAppDialog并在其中包括OBJ_BITMAP_LABEL? Nikolai Semko 2019.09.12 14:30 #270 Evgeny Potapov: 谢谢你!这个变体看起来相当逼真! 是否可以扩展CAppDialog并在其中包括OBJ_BITMAP_LABEL? 当然这是有可能的,如果你有愿望和时间。 1...202122232425262728293031323334...93 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
双头鹰以不同的形状、颜色和版本出现在我们的国徽上已经有五个多世纪了--从伊凡三世时期的莫斯科国家到1918年,作为基因突变的结果.....。
我不明白这个逻辑。你在哪里看到我想纠正某人的东西?
我不明白这个逻辑。你在哪里看到我想从别人那里纠正什么?
这是一种微妙的嘲弄。暗示我是基因突变的一个不可救药的后果)。我看了作者的其他帖子,认为他自己是我们论坛上的一个实验性人工智能。))
https://www.mql5.com/ru/forum/221552/page1485#comment_12959767
蜱虫是这样呈现的吗?
关于交易、自动交易系统和策略测试的论坛
指标:ZoomPrice Tick指标
fxsaber, 2016.11.01 21:10
我的意思是,刻度线应该以条形 呈现--比如说,每条5秒。
你好!
是否可以使用Canvas来创建面板?(CAppDialog)。
直接使用 Add() ,显然不能将 CCanvas 对象添加到面板中。
也许有一个变通办法,例如先创建一个资源,然后,把它当作一个更简单的对象,你可以把它绑定到CAppDialog上?
但我甚至不确定该用什么功能来尝试玩这样的把戏。
不管怎么说,帮助!
这条线上有这么多好东西,在这种背景下,我的任务似乎很简单!"。
你好!
是否可以使用Canvas来创建面板?(CAppDialog)。
直接使用 Add() ,显然不能将 CCanvas 对象添加到面板中。
也许有一个变通办法,例如先创建一个资源,然后,把它当作一个更简单的对象,你可以把它绑定到CAppDialog上?
但我甚至不确定该用什么功能来尝试玩这样的把戏。
不管怎么说,帮助!
这个话题有这么多精彩的内容,在这样的背景下,我的任务似乎很简单!
我担心这行不通。
因为CAppDialog是在OBJ_RECTANGLE对象上绘制的,而CCanvas是OBJ_BITMAP_LABEL对象,没有办法让它们交叉。
但可以在面板窗口的顶部画一个画布,并监视面板的变化,同时重画画布。
像这样。
但由于面板是一个对象的集合,只需在这个集合中再添加一个对象。
所以,这样一来,kanvas就只在面板坐标的一个地方(本例中的DrawCanvas函数)绘制,我不需要担心把它附加到面板上并重新绘制。
是的,谢谢你,阿列克谢。慢下来了 ))
纠正了。
我担心这将不会起作用。
因为CAppDialog是使用OBJ_RECTANGLE对象绘制的,而CCanvas是OBJ_BITMAP_LABEL对象,没有办法将它们合并。
谢谢你!这个变体看起来相当逼真!
是否可以扩展CAppDialog并在其中包括OBJ_BITMAP_LABEL?
谢谢你!这个变体看起来相当逼真!
是否可以扩展CAppDialog并在其中包括OBJ_BITMAP_LABEL?
当然这是有可能的,如果你有愿望和时间。