文章 "图形界面III:简单与多功能按钮(第一章)" - 页 3

 
下午好,希望您能帮我。

我想让一个双态按钮在点击后移动。方法已经写好,但不起作用。

我可以从日志中看到函数被调用了,但按钮的位置没有改变

void CVisButBoard::ChangeButtonPosition(CButtHedge &_button, const int _ShiftX, const int _ShiftY)
  {
      _button.Moving(_ShiftX,_ShiftY);
  
  }


class CSimpleButton : public CElement
  

void CSimpleButton::Moving(const int x,const int y)
  {
//--- 如果项目被隐藏,则退出
   if(!CElement::IsVisible())
      return;
      
  Print("Budem Dvigat? X?",x);    
//-- 在元素字段中保存坐标
   CElement::X(x+XGap());
   CElement::Y(y+YGap());
//-- 在对象字段中保存坐标
   m_button.X(x+m_button.XGap());
   m_button.Y(y+m_button.YGap());
//-- 更新图形对象的坐标
   m_button.X_Distance(m_button.X());
   m_button.Y_Distance(m_button.Y());
  }
//+---
 

下午好!

非常感谢作者的文章,信息量很大,也很有趣。但我还没有读完所有的文章,我有一个问题--有没有可能让按钮不 "透明",也就是说,你不能通过滚动按钮来查看价格图表。 感谢您的帮助

 
Ruslan Piraliyev #:

下午好!

非常感谢作者的文章,信息量很大,也很有趣。但我还没有读完所有的文章,我有一个问题--有没有可能让按钮不 "透明",也就是说,你不能通过滚动按钮来查看价格图表。 感谢您的帮助

如果你只是想在自己的项目中使用该库,就不必阅读所有文章。

最好从这里获取最新版本的程序库:https://www.mql5.com/zh/code/19703。

并从最新文章中查看图形界面示例:

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

如果您只想在自己的项目中使用该库,则不一定需要阅读所有文章。

最好从这里获取最新版本的程序库:https://www.mql5.com/zh/code/19703

并查看最新文章中的图形界面示例:

感谢您提供的链接,如果可能的话,我会查看一下。我想问的是,价格图表滚动时图形对象的 "透明度 "如何?有没有可能让图形对象不 "透明"?您在这方面经验丰富,也许您遇到过这种情况。

 
Ruslan Piraliyev #:

谢谢你的链接,如果可能的话,我会去看看。那我关于价格图表滚动时图形对象的 "透明度 "问题呢?有没有可能让图形对象不 "透明"?您在这方面经验丰富,也许您遇到过这种情况。

我不明白这个问题。我相信在最新版本中不存在这个问题。试试看吧。

 
Anatoli Kazharski #:

我不明白这个问题。我相信在最新版本中没有这个问题。试试这个。

例如,有一个 "买入"(Buy)按钮,如果您按下它并松开,它就会正常工作,但如果您指向它并按下,整个图表就会被捕获(它在后台),当您左右移动鼠标时,它就会滚动。也就是说,如果按下这个按钮时有轻微的位移(这种情况时有发生),按钮将不起作用,因为带有价格的图表已被捕获。因此,我希望这样的按钮不是 "透明 "的,这样带价格的图表就不会被它遮住。例如,MT5 内置的 "一键交易 "按钮可以正常工作。

 
Ruslan Piraliyev #:

例如,有一个 "买入"(Buy)按钮,如果只是按下并松开,它就会正常工作,但如果对准它按下,整个图表就会被捕获(它在背景上),当鼠标左右移动时,它就会滚动。也就是说,如果按下该按钮时有轻微的位移(这种情况时有发生),按钮将不起作用,因为带有价格的图表已被捕获。因此,我希望这样的按钮不是 "透明 "的,这样带价格的图表就不会被它遮住。例如,MT5 内置的 "一键交易 "按钮可以正常工作。

在最新版本中,它可以按您的需要工作:

EasyAndFastGUI - 用于创建图形界面的库
EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

最新版本可按您的需要运行:

EasyAndFastGUI - 用于创建图形界面的库

谢谢,我会试试的!

 
Anatoli Kazharski #:

最新版本可按您的需要运行:

EasyAndFastGUI - 用于创建图形界面的库

当然,你们在开发和描述方面做了大量工作,这里首先要表扬你们。很难一下子理解所有的东西,但从我的尝试中发现,你在工具栏上创建了一个按钮,而带有按钮的面板确实没有照亮你所需要的东西。也许将来我也会实现这样的功能,但我现在的任务是创建一个纯粹的按钮,而不使用窗体底层,而且它也没有发光。如果您能指出一个属性或告诉我如何实现,我将非常高兴。

 
Ruslan Piraliyev #:

...

也许将来我也会实现这样的功能,但我现在的任务是创建一个纯粹的按钮,不带窗体底纹,也不是半透明的

...

这正是我所不具备的。