MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 181

 
ラベルの幅がピクセル単位でわかるか教えてください。 テキストの長さによって、文字の幅を変えることができません。
 
Money_Maker:
教えてください、あなたはピクセル単位でラベルの幅を見つけることができますか? テキストの長さは、文字が異なる幅を持って動作しません。

たぶん...ここで 考えないといけない。

  • 幅/高さ- オブジェクトには幅と高 さがあります。read-only "が指定された場合、オブジェクトがチャートに描画された後にのみ、幅と高さの値が計算されることを意味します。


そして

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:

何か事例があるのでしょうか?
そして、あなたはコードの一片も示していません。なぜ例を示す必要があるのか、明確ではありません。
理由: