错误、漏洞、问题 - 页 2395

 
Igor Makanu:

这是一个使用标准库类 CAppDialog的例子

如果你使用这个类,当切换图表时,Minimize()方法总是被调用。

我不想去理解它,我只是自己写了一个OnClickButtonMinMax(),它很乱,但它的工作没有问题。

在CAppDialog类中还有一个错误,在Minimize()和Maximize()之后,CCheckBox类的属性OBJPROP_BACK发生了变化,复选框变成了 "方形 "边框,我在这段代码中迅速修复了ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true); ...

你是对的。

我研究了提出的代码,并改变了我的答案。

问题是,在MDI应用程序中,只有一个活动窗口被最大化,而其余的窗口位于最大尺寸之外,是 "正常 "尺寸。

当切换标签时,新的活动窗口被扩大,而先前的活动窗口被折叠到其正常大小。

EA捕捉到了图表大小的变化,检测到条形图不适合,并将窗口最小化。

我们将考虑并可能在SB中改变这一行为。

 
Ilyas:

你是对的。

我研究了提交的代码,改变了我的答案。

问题是,在MDI应用程序中,只有一个活动窗口是最大化的,而其他的窗口则是在最大化的窗口之外,有一个 "正常 "的大小。

当切换标签时,新的活动窗口被扩大,而先前的活动窗口被折叠到其正常大小。

EA捕捉到了图表大小的变化,检测到条形图不适合,并将窗口最小化。

我们将考虑并可能在SB中改变这一行为。

我转载了我的代码,没有多余的东西,但不幸的是,我只有MT4的代码--我有写MT4的练习,但我不怎么写MT5,但我想你有同样的库

附加的文件:
tstpanel.mq4  12 kb
 
Ilyas:

删除了我之前的回复

窗口正在崩溃,因为它不适合在图表上。
走出 "图表到整个终端窗口 "模式,你会看到图表的实际尺寸。

为了避免图表上的面板塌陷,你需要增加图表的尺寸。
之后,你可以将图表扩展到整个终端,并尝试在它们之间切换

我已经在一开始就试过了,当新的面板出现时,我节省了空间。面板实际上比最大化的图表窗口小三倍。
不过谢谢你的回答,我已经忘记了这个可能的选项。

还有,当把面板放在第二个窗口并从第一个窗口切换到它的时候,在处理扩展的图表时,为什么面板没有被折叠?

 
Igor Makanu:

这是一个使用标准库类 CAppDialog的例子

如果你使用这个类,当切换图表时,Minimize()方法总是被调用。

我不想去理解它,我只是自己写了一个OnClickButtonMinMax(),它很乱,但它的工作没有问题。

在CAppDialog类中还有一个错误,在Minimize()和Maximize()之后,CCheckBox类的OBJPROP_BACK属性被改变,复选框变成了 "方形 "边框,我在这段代码中也修复了ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true),...

考虑到你的面板尺寸限制选项,编辑了库,以避免从另一个窗口切换时将其最小化,一切正常。

 
Vjacheslav Lapaev:

我编辑了库,考虑了你的选项,限制了面板的大小,以避免从另一个窗口切换时折叠,都成功了。 谢谢你。

下次更新后,一切都将恢复正常。你最好不要编辑SB,而是从你所编辑的类中继承。

 
Artyom Trishkin:

在下一次更新后,一切都将恢复 "正常"。你最好不要编辑SB,而是继承你所编辑的那个类。

是的,我明白了,谢谢你。

 
 
为什么会有这样的问题?
 

如果测试器窗口覆盖了一个指标,该指标的提示将通过它弹出。

你去吧。

 
Alexey Kozitsyn:

如果测试器窗口覆盖了一个指标,该指标的工具提示将通过它弹出。

啊,不,这个错误略有不同。测试器窗口通过最后激活的工具提示进行照射。如果 "水平比例 "工具提示是最后显示的,那么它将一直显示,如果 "垂直比例 "工具提示是最后显示的,那么它将在悬停在测试器窗口下隐藏的指标值时最后显示。一般来说,我不希望看到任何左手的工具提示。