新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 181

 
请告诉我,你能否告诉我标签的宽度是多少? 文字的长度不允许字母有不同的宽度。
 
Money_Maker:
请告诉我,你能找出标签的宽度(像素)吗? 文字的长度不工作,字母的宽度不同。

也许...我们必须在这里 搞清楚。

  • 宽度/高度- 对象有宽度和高度如果指定了 "只读",这意味着宽度和高度值只在对象被绘制在图表上之后才会被计算。


然后

OBJPROP_XSIZE

对象沿X轴的宽度,单位是像素。为OBJ_LABEL(只读)、OBJ_BUTTON、OBJ_BITMAP、OBJ_BITMAP_LABEL、OBJ_EDIT、OBJ_RECTANGLE_LABEL指定。

䵮䵮

OBJPROP_YSIZE

对象沿Y轴的高度,单位是像素。为OBJ_LABEL(只读)、OBJ_BUTTON、OBJ_BITMAP、OBJ_BITMAP_LABEL、OBJ_EDIT、OBJ_RECTANGLE_LABEL指定。

䵮䵮

Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Способы привязки объектов - Константы объектов - Стандартные константы, перечисления и структуры - Справочник MQL4
 
Alexey Viktorov:
也许...我们必须在这里 把它整理出来。

结果比计划的要简单) ObjectGetInteger(0, "name",OBJPROP_YSIZE)

谢谢)
 
string Label_name[2] = 
{ 
"jnfvin", 
"12358"
};

另一个问题,在全局范围内,我声明和初始化这样的数组,是否有可能在一个单独的函数中做到这一点,但它在另一个函数中是可见的,我知道你不能从一个函数中返回一个数组,是否有其他方法......?

 
Money_Maker:

还有一个问题,在全局范围内,我声明和初始化这样的数组,是否可以在一个单独的函数中完成,但它在另一个函数中是可见的,我知道数组不能从函数中返回,也许有其他方法......?

你可以通过引用将一个数组传入一个函数。然后,函数中的所有变化都将通过传递的数组引用来完成。

void OnTick()
 {
  string Label_name[2] = 
  {
   "jnfvin",
   "12358"
  };
   f1(Label_name);
    Print(Label_name[0], "  ", Label_name[1]);
 }

void f1(string & l[])
 {
  l[0] = "Новая строка";
   l[1] = "85321";
 }
 
Alexey Viktorov:

你可以通过引用将一个数组传递给一个函数。然后,函数中的所有改变都将以数组为参照。


不完全是这样,反过来才是(
理想情况下,从一个函数中获得一个数组,或者在那里声明并初始化它,但它将是全局可见的,或者是一个指向数组的指针...
在这个方向上思考,以避免加载OnInit
 
Money_Maker:

并非如此,反之则是(
理想情况下,从一个函数或声明中获得一个数组,并在那里初始化它,但它将是全局可见的,或一个指向数组的指针...
我认为在这个方向,以便不加载OnInit
但为什么会出现这样的变态?
 
Money_Maker: 从一个函数中得到一个数组,或者在那里声明并初始化 它,但要使它全局可见,或者一个指向数组的指针...
我正在考虑这个方向,以避免加载OnInit
你声明了一个全局数组而没有指定大小。你的函数用ArrayResize 设置其大小。而它在全球范围内是可见的,OnInit被释放了...
 
Artyom Trishkin:
既然该对象不再需要,为什么还要在对象列表中排序?删除它,所需对象的列表将保持有序。

是否有任何例子说明如何做到这一点?
 
Evgenii:

是否有任何例子说明如何做到这一点?
而且你还没有展示你的一段代码--不清楚你为什么要展示一个例子。
原因: