测试CGraphic--问题和建议 - 页 2 123456789...13 新评论 Vladimir Karputov 2016.12.11 18:20 #11 o_O:我不认为你说的是 "像素"。你只提交了一个Y阵列。所以X是一个简单的序列号。GetX的输出是正确的。 描述中明确说是 "坐标"。我明白,坐标是像素。 --- 2016.12.11 18:58 #12 Vladimir Karputov: 描述中清楚地写着'坐标'。我明白,坐标是像素。 不,坐标不应该与像素相关联。 Vladimir Karputov 2016.12.11 19:02 #13 o_O: 不,坐标与像素不应该有关系。 那么画出来的东西(双倍的实际值)和像素的坐标就没有关系了。我将等待澄清。 --- 2016.12.11 20:18 #14 Vladimir Karputov: 那么渲染的内容(双倍的实际值)和像素的坐标就没有关系了。我将等待澄清。不,这是个好观点。毕竟,你只给了一个数组--Y。它必须自动计算出X的点数,作为序数。给CurveAdd一个二维数组。例如在X上让它成为时间(这在原则上是符合逻辑的,可以得到tick值)。让我们看看结果。---获取像素坐标是另一回事。看一下渲染代码(或者说在哪里进行曲线点的计算)。它是如何计算像素的。也许那个数组被储存起来了。 Roman Konopelko 2016.12.12 12:29 #15 o_O: //--- trim the name m_canvas.FontSizeSet(m_history.name_size); if(m_canvas.TextWidth(name)>m_history.name_width) { while(m_canvas.TextWidth(name+"...")>m_history.name_width) name=StringSubstr(name,0,StringLen(name)-1); name+="..."; }发现一个错误--当m_history.name_width较小时,无限次的while循环。 如何完全禁用右侧的 "历史"? 谢谢你的帖子,我们会修复它。目前没有直接禁用历史的方法,但你可以将曲线名称大小HistoryNameWidth及其指定的HistorySymbolSize设为零。 --- 2016.12.12 12:32 #16 Roman Konopelko: 谢谢你的帖子,我们会修复它。目前还没有直接禁用历史的方法,但你可以将HistoryNameWidth曲线名称及其指定的HistorySymbolSize的大小设置为零。虚拟功能 吗?我需要在我的后代中重新定义直方图渲染函数--我需要两种颜色--正值和负值。 而一切都不是虚拟的,我不能重新定义它( Vladimir Karputov 2016.12.12 12:52 #17 @罗曼-科诺佩尔科请解释如何阅读ǞǞǞ将所有曲线点的X坐标写入一个数组中- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值? Roman Konopelko 2016.12.12 12:59 #18 Vladimir Karputov:@罗曼-科诺佩尔科请解释如何阅读ǞǞǞ将所有曲线点的X坐标写入一个数组中- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值? GetX和GetY方法在CCurve类中实现,允许你获得用于构建曲线的坐标。 Vladimir Karputov 2016.12.12 13:12 #19 Roman Konopelko: GetX和GetY方法在CCurve类中实现,允许你获得用于创建曲线的坐标。 请在帮助中写道 - 。允许获得建立曲线所依据的数据。因为 "坐标 "一词与 "像素 "一词的含义非常相似。 --- 2016.12.17 15:32 #20 @罗曼-科诺佩尔科。 在CalculateXAxis()中与日期/时间的格式相同 TimeToString 只对双倍值进行格式化 StringFormat.string xformat=m_x.ValuesFormat()。 m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);选项。- 添加CAxis::m_bdatetime变量--它将告诉你在格式化时调用TimeToString函数而不是StringFormat。- 或取出来 string xformat=m_x.ValuesFormat()。 m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);变成一个单独的虚拟函数,并让用户覆盖它。提前感谢。PS。关于班级和以前的虫子有什么消息? 在新的建设中是否会有任何新闻或编辑? 如果你有新的版本,请把它们放在这里,而不必等待构建的出版。 123456789...13 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不认为你说的是 "像素"。
你只提交了一个Y阵列。所以X是一个简单的序列号。GetX的输出是正确的。
描述中清楚地写着'坐标'。我明白,坐标是像素。
不,坐标与像素不应该有关系。
那么渲染的内容(双倍的实际值)和像素的坐标就没有关系了。我将等待澄清。
不,这是个好观点。
毕竟,你只给了一个数组--Y。它必须自动计算出X的点数,作为序数。
给CurveAdd一个二维数组。例如在X上让它成为时间(这在原则上是符合逻辑的,可以得到tick值)。让我们看看结果。
---
获取像素坐标是另一回事。看一下渲染代码(或者说在哪里进行曲线点的计算)。它是如何计算像素的。也许那个数组被储存起来了。
m_canvas.FontSizeSet(m_history.name_size);
if(m_canvas.TextWidth(name)>m_history.name_width)
{
while(m_canvas.TextWidth(name+"...")>m_history.name_width)
name=StringSubstr(name,0,StringLen(name)-1);
name+="...";
}
发现一个错误--当m_history.name_width较小时,无限次的while循环。
如何完全禁用右侧的 "历史"?
谢谢你的帖子,我们会修复它。目前还没有直接禁用历史的方法,但你可以将HistoryNameWidth曲线名称及其指定的HistorySymbolSize的大小设置为零。
虚拟功能 吗?
我需要在我的后代中重新定义直方图渲染函数--我需要两种颜色--正值和负值。 而一切都不是虚拟的,我不能重新定义它(
@罗曼-科诺佩尔科
请解释如何阅读
ǞǞǞ
将所有曲线点的X坐标写入一个数组中
- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值?
@罗曼-科诺佩尔科
请解释如何阅读
ǞǞǞ
将所有曲线点的X坐标写入一个数组中
- 是以像素为单位的COORDINATE(x,y)还是绘制曲线时传递的数值?
GetX和GetY方法在CCurve类中实现,允许你获得用于创建曲线的坐标。
@罗曼-科诺佩尔科。
在CalculateXAxis()中
与日期/时间的格式相同 TimeToString
只对双倍值进行格式化 StringFormat.
string xformat=m_x.ValuesFormat()。
m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);
选项。
- 添加CAxis::m_bdatetime变量--它将告诉你在格式化时调用TimeToString函数而不是StringFormat。
- 或取出来
string xformat=m_x.ValuesFormat()。
m_xvalues[i]=(xformat==NULL)?StringFormat("%7g",x) : StringFormat(xformat,x);
变成一个单独的虚拟函数,并让用户覆盖它。
提前感谢。
PS。关于班级和以前的虫子有什么消息?
在新的建设中是否会有任何新闻或编辑?
如果你有新的版本,请把它们放在这里,而不必等待构建的出版。