程序库: 用于创建图形界面的 EasyAndFastGUI 开发库 - 页 21

 
在 Element.mqh 文件的 CElement 构造函数中,替换 m_font 和 m_font_size 的值。
,如何在不编辑库的情况下完成同样的操作?
 
o-dima:
在 Element.mqh 文件的 CElement 构造函数中替换 m_font 和 m_font_size 值。 如何在不修改库的情况下实现同样的操作?

每个元素在创建时指定这些值有什么问题吗?

 
如果有一百种元素,那就是不合理的。
 

大家好、

我试了一下这个源码,成功了。真的很棒,谢谢你!

我试着根据自己的需要进行调整,但没有成功。经过几个小时的调试,我发现了问题所在:

当 ExampleEA.mq5 的文件名超过 14 个字符时,在创建组合框时,Canvas 类中的 ResourceCreate() 函数会出现错误 4016(未找到资源)。

这种情况是否存在?由于我不知道导致该错误的具体情况,所以我试图找出防止此类错误的方法。



更新:我在这里 找到了相应的讨论和快速解决方案。

Lib 'EasyAndFastGUI': Creating Canvas fails with error 4016 after update build 2265
Lib 'EasyAndFastGUI': Creating Canvas fails with error 4016 after update build 2265
  • 2019.12.14
  • www.mql5.com
Hi guys, the following error occurs (which did not before releasing build 2265) when I create GUI elements with the EasyAndFastGUI library (https...
 
OMG.它很复杂,但很先进,用户界面设计看起来很不错!太棒了
 
2021.01.18 17:57:52.598 MacdSampleCFrames (Si-3.21,M2)  CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016
2021.01.18 17:57:52.598 MacdSampleCFrames (Si-3.21,M2)  CProgram::OnTesterInitEvent > Could not create the GUI!

在一次更新后,全局 终端变量 字符串的缓冲区变小 了,导致一段时间以来出现严重错误。

只需重命名 "智能交易系统 "启动文件,缩短其名称,就能快速解决这个问题,无需深入研究代码

例如,将 MacdSampleCFrames.ex5 改为Macd. ex5。

 

如何设置 Anchor(ANCHOR_RIGHT)的文本标签参数

是否存在错误!?

 

Gustavo Enedir Hennemann:
Hello,
I didn't get it. What to do?

将 m_main 替换为出现警告的 CElementBase::。

 
为什么CElement类中不写入修改对象属性(如字体,大小,颜色,背景颜色等)的方法呢,而采用默认属性。这对编程很不友好
 

嗨,@米哈伊尔-谢尔盖耶夫,@保罗-坎佩罗!

各位、

我已将警告数量从 18 条减少到 6 条。

这 6 个警告归结为以下 4 类问题。你们能告诉我如何正确纠正这些问题吗?

1.如何正确地将其替换为 "CElementBase::"?

//--- Определим цвет для линии
   color clr=m_back_color;
   if(m_tabs.GetButtonPointer(m_selected_tab).IsLocked()) // this one!
      clr=m_tabs.GetButtonPointer(m_selected_tab).BackColorLocked();
//--- Рисуем линию
   m_canvas.Line(x1,y1,x2,y2,::ColorToARGB(clr,m_alpha));
  }


2.在这里,当我用 "CElementBase:: "替换 "el. "时,出现了一个新的编译错误,提示 "IsAvailable - access to non-staticmember of function"("IsAvailable - 访问函数的非静态成员")--你如何正确解决这个问题?

      for(int e=0; e<elements_total; e++)
        {
         //--- Проверяем только доступные элементы
         CElement *el=m_wnd[m_active_window_index].m_elements[e];
         if(!el.IsVisible() || !el.IsAvailable() || el.IsLocked())
            continue;
         //--- Обработка события в обработчике элемента
         el.OnEvent(m_id,m_lparam,m_dparam,m_sparam);
        }


3.同一行:当我用 "CElementBase::IsLocked "替换 "el.IsLocked() "时:出现错误 "IsLocked - 访问函数的非静态成员"

4.用什么替换 "m_windows[0].IsLocked()"?

//--- Выйти, если интерфейс не создан
   if(windows_total<1)
      return;
//--- Изменить размер всех элементов заблокированной формы, если включен один из режимов
   if(m_windows[0].IsLocked() && (m_windows[0].AutoXResizeMode() || m_windows[0].AutoXResizeMode()))
     {

请提供帮助!如果能使用这个库就太好了。但我们需要先解决这几个问题。

谢谢!