文章 "图形界面 X: 文本编辑框, 图片滑块和简单控件 (构建 5)" - 页 2

 
maj:

您好

在最后两篇文章中,我们没有看到 mql4 文件。

我知道 mt4 不支持多图表等功能

但您会上传 mql4 的更新吗?

我的意思是最新的功能,如文本编辑、鼠标和 CPU 性能。

MT4 版本的库将不再更新。
 
Anatoli Kazharski:
MT4 版本的库将不再更新。

推动切换到 MQL5

 

TextEdit.mqh中的 "Tol"、"necessary"(或 "缺少 "而非 "necessary")。

//+------------------------------------------------------------------+
//| 创建一组文本输入框对象
//+------------------------------------------------------------------+
bool CTextEdit::CreateTextEdit(const long chart_id,const int subwin,const string label_text,const int x,const int y)
  {
//--- 如果没有表单指针,则退出
   if(!CElement::CheckWindowPointer(::CheckPointer(m_wnd)))
      return(false);
//--- 变量初始化
   m_id          =m_wnd.LastId()+1;
   m_chart_id    =chart_id;
   m_subwin      =subwin;
   m_x           =x;
   m_y           =y;
   m_x_size      =(m_x_size<1 || m_auto_xresize_mode)? (m_anchor_right_window_side)? m_wnd.X2()+m_x-m_auto_xresize_right_offset : m_wnd.X2()-m_x-m_auto_xresize_right_offset : m_x_size;
   m_y_size      =m_edit_y_size;
   m_label_text  =label_text;
   m_area_color  =(m_area_color!=clrNONE)? m_area_color : m_wnd.WindowBgColor();
//--- 从终点开始缩进
   CElement::XGap((m_anchor_right_window_side)? m_x : m_x-m_wnd.X());
   CElement::YGap((m_anchor_bottom_window_side)? m_y : m_y-m_wnd.Y());
//--- 创建一个元素
   if(!CreateArea())
      return(false);
   if(!CreateIcon())
      return(false);
   if(!CreateLabel())
      return(false);
   if(!CreateEdit())
      return(false);

   if(!CreateEdit())
      return(false);

   Print(__FUNCTION__," > CreateEdit()");
   if(!CreateTextSelectPointer())
      return(false);
//--- 如果窗口是对话框或已最小化,则隐藏项目
   if(m_wnd.WindowType()==W_DIALOG || m_wnd.IsMinimized())
      Hide();
//---
   return(true);
  }
//+------------------------------------------------------------------+

可以在输入框中使用文本标签,却不能设置其字体和大小,这多少有点奇怪。也许我找错了地方?或者提示一下如何在不进入代码和不添加自己的方法的情况下实现这一点。

 
Artyom Trishkin:

TextEdit.mqh中的 "Tol"、"necessary"(或 "缺少 "而非 "necessary")。

可以在输入框中使用文本标签,却不能设置其字体和大小,这多少有点奇怪。也许我找错地方了?或者告诉我如何在不进入代码和不添加自己的方法的情况下做到这一点。

1. 当然没有必要。您需要删除它。

2.在下一次更新中,每个元素都可以设置自己的字体及其大小。

我已经在写下一篇文章了。可能会在下周发布。

 
Anatoli Kazharski:

1. 这是多余的。应删除。

2.在下一次更新中,每个元素都可以设置自己的字体及其大小。

已经在写下一篇文章。可能会在下周发布。

1.我很久以前就删除了它 - 我只是有时间问一下 - 如果有其他东西应该在那里,而不是删除的 one.... 怎么办?

2.太好了,不过我又得删除我的方法了......,不过没关系......;)

3.非常期待。

 
Anatoli Kazharski:

1. 这是多余的。应删除。

2.在下一次更新中,每个元素都可以设置自己的字体及其大小。

已经在写下一篇文章。可能下周就会发布。

Tol,更改时间范围时,在文本输入框中输入的文本再次被替换为 "在此输入您的文本"。如何消除?

这种构造不起作用(我用""替换了类构造函数 中的默认文本):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
 
Artyom Trishkin:

Tol,在更改时间范围时,文本输入框中输入的文本再次被替换为 "在此输入您的文本"。如何消除?

这种构造不起作用(我用""替换了类构造函数 中的默认文本):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
是的,默认值最好暂时留空。
 
Yuriy Zaytsev:

推动转用 MQL5

是的,最好听一听。)

关于交易、自动交易系统和交易策略测试的论坛

无法下载 MT4

Renat Fatkhullin, 2016.11.30 17:32

先生们,你们认为我们作为 MT4 平台的最大分销商(安装量超过任何经纪商),会继续为其做广告吗?

您以为我们会继续免费向全世界提供 MT4 安装,让那些吹嘘 "我为什么要离开 MT4 "的人高兴吗?

我建议您考虑一下未来,加快向 Metatrader 5 的发展。

现在生态系统的变化要快得多。


 
您好!我有个问题。在 C 语言中,有 TMemo 和 TEdit 这样的元素,前者可以自动将文本转到新行,后者可以输入超过 63 个字符。在你们的开发成果的帮助下,是否有可能创建类似的 TMemo 和 TEdit?我知道 63 个字符是 metatrader 本身的限制,无法绕过。是否可以使用 WINAPI 来实现?(抱歉,我对使用标准 Windows 工具创建对象 不太了解)。
 
Roman Podpora:
您好!我有个问题。在 C 语言中,有 TMemo 和 TEdit 这样的元素,前者可以自动将文本转到新行,后者可以输入超过 63 个字符。在你们的开发成果的帮助下,是否有可能创建类似的 TMemo 和 TEdit?我知道 63 个字符是 metatrader 本身的限制,无法绕过。是否可以使用 WINAPI 来实现?(抱歉,我对使用标准 Windows 工具创建对象 不太了解)。
我们计划创建一个类似CTextBox 的独立元素,它没有任何限制,您可以启用多行模式以及垂直和水平滚动条。