ObjCAppDialog.Create(chart,name,subwin,x1,y1,x2,y2))而不是
CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2))?
在 "填充显示面板 "项目中,是否可以使用类似"...... "的字样来代替?
您好,也许您能告诉我该怎么做。
您的示例是 ekspert Controls。
当切换到不同的时间段时,专家会被卸载,我试着在 OnDeinit() 中移除 ExtDialog.Destroy(reason);。
您能告诉我该怎么做才能使对话窗口在切换到其他时段时继续工作吗?

- www.mql5.com
有人会问,为什么使用MQL5 向导 构建类会产生无法编译的代码?
如文章所述,您必须手动添加这行代码,这对于面向非编码者的向导来说有点奇怪。
#include <Controls\Dialog.mqh>
另外 :
This article will demonstrate how easy it is to create your own display panels in a separate chart subwindow using the Standard Library classes.
我觉得这是个笑话,不是吗?
- 2011.01.11
- MetaQuotes Software Corp.
- www.mql5.com
"这对于一个面向非编码员的向导来说有点奇怪"。
我不认为这个向导是为非编码者准备的。
它可能会让你(程序员新手)迈出必要的第一步,创建一些东西。
MQL5 框架具有很大的潜力,其中一些潜力可以通过向导创建来发现
但我认为,要获得像本示例这样更复杂的东西,您始终需要编程基础。
但我同意,如果您从一个基类派生出来,就有必要包含一些显而易见的东西...
"这对于一个面向非编码员的向导来说有点奇怪"。
我不认为这个向导是为非编码者准备的。
它可能会让你(程序员新手)迈出必要的第一步,创建一些东西。
MQL5 框架具有很大的潜力,向导创建功能可以发掘其中的一些潜力
但我认为,要获得像本示例这样更复杂的东西,您始终需要编程基础。
但我同意,如果您从一个基类派生出来,就有必要包含一些显而易见的东西...
您可能是对的,但我认为MQL5 向导 首先是为非编程人员设计的。无论如何,这个问题在这里就像一个 bug,因为您必须手动添加代码才能编译向导创建的代码。
- 2011.01.11
- MetaQuotes Software Corp.
- www.mql5.com
我注意到,在用户图形用户界面(面板)库中复制的事件模型在我看来并不十分成功:
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { ... }
首先,并非所有事件都有一组与 int、long、double 和 string 相对应的变量。有些地方描述事件的变量可能更多,有些地方可能更少,有些地方则与提议的基本类型不一致。事实上,我们经常可以看到这样的转换:int -> bool、string -> int、double -> int 等。如果从过程式编程的角度来看,您几乎无计可施(因为您不会为每种假设情况创建 1 000 000 个重载函数),那么在 OOP 框架内,一切都可以做得更简单、更优雅。
但 OnEvent 的主要问题在于,该事件处理程序的目的是处理从图表中接收到的事件,而事件可以是任何东西,例如打开一个新位置或更改报价。总的来说,OnEvent(...)在某种程度上看起来并不像一个通用的事件处理程序。也许开发人员已经设法在现有 CWnd 的基础上处理他们自己的事件,但对我来说,使用 面板标准库 仍然存在问题。

- 2010.11.10
- Samuel
- www.mql5.com
谢谢,我已经研究过了,非常有用!稍等一下:是否有计划创建某种构造函数,这样就可以像 VS 中那样在窗体构造函数中组装面板?)
对于宏,他们显然做得太过了...
新文章 利用MQL5创建您自己的图形面板已发布:
MQL5程序的可用性,是由其丰富的功能性和制作精细的图形用户界面所决定的。视觉感知有时比快速且稳定的运行更加重要。根据标准库类,您可以自行创建显示面板,以下即逐步操作指南。
作者:MetaQuotes Software Corp.