MQLで書かれたUIのギャラリー - ページ 62

 
hini #:

コードに従ってテストしてみたところ、ランダム文字列の長さが長すぎると自動検出されないという予期せぬことを発見した。


ええ、もちろんです。見てみるよ。

通常、デフォルトではテキストは常に短くなります。今までこんなことはなかった。新しい機能が追加されたせいかもしれません。

 
hini #:

私にとって致命的な問題を発見した。それは、入力されたテキストがGUI上で横向きに表示されることだ......通常のように90度回転して:


わからない。多分、言語設定に関係しているのだろう。これはおそらく、MQL内部の標準TextOut()関数がそうなっているのだろう。開発者に聞いてみるといい。私のコードは間違いなくテキストを回転させません。そのようなオプションはありません。

 
hini #:

コードに従ってテストしてみたところ、ランダム文字列の長さが長すぎると自動検出されないという予期せぬことを発見した。

ちなみに、プログラムでテキストを入力した後に入力ボックスをクリックし、別のウィンドウ・スペースをクリックすると、ボックス内のテキストが縮小されます。これは明らかに新機能によるもので、ウィンドウを作る段階で他のテキストが短縮されるからである。この場合、テキスト短縮フラグはすでにセットされているため、この機能はテキストを短縮しない。欠陥は明らかだ。

 
hini #:

私にとって致命的な問題を発見した。それは、入力されたテキストがGUI上で横向きに表示されることだ......通常のように90度回転して:


テキストの角度を決定するTextSetFont()パラメータに入る値をチェックしてみる。しかしその一方で、すべてのテキストは横向きでレンダリングされます......。まだ明確な答えは出せません。おそらく後で明らかになるでしょう。

 
Реter Konow #:

入力のTextSetFont()パラメータの値をチェックしてみます。このパラメータはテキストの角度を調整する役割を担っています。しかし一方で、すべてのテキストは水平にレンダリングされます......。今すぐには明確な答えは出せません。後ではっきりするかもしれません。

中国語、日本語、韓国語はすべてこの可能性があります。
 
hini #:
中国語、日本語、韓国語では可能です。

かなり可能性がある。修正できないなら残念だ。

 
7.異なる型の要素のパラメータとプロパティの値を設定し、返す。
8.ある要素のパラメータ値を返し、 それを 修正して 別の要素に転送する

//----------------------------------------------------------------------------------------------------------

パラメータ値やプロパティの設定、戻り値、転送についてまとめて みましょう

1.要素のパラメータへの値の設定

ほとんどの要素では、パラメータに値を設定することは、コントロールの 表面に数値またはテキスト形式で値を表示することを意味します。

前回の記事では、入力フィールドにプログラムでテキストを設定する方法を紹介しました:

w7_s_p4_EDIT_Comment_1("Some random text");//Тип посылаемого в функцию значения string.



この方法が他の要素でどのように機能するか見てみましょう:

1.ボタンを持つ入力フィールド

w6_d_p5_S_EDIT_Spin_the_value(423.11); //Тип посылаемого в функцию значения double.

//-------------------------------------------------------------------------------------------------------------------------------


2.

w6_i_p3_H_SLIDER_Roll_the_value(33); //Тип посылаемого значения int, потому что тип функции int. В данном случае, потому что у слайдера диапазон в целых числах.


スライダーの範囲外の値を入力した場合、ログには数値範囲を超えたことを警告するメッセージが表示され、新しい値は設定されません!

//-------------------------------------------------------------------------------------------------------------------------------


3.

w6_s_p6_D_LIST_D_LIST_1("L_ITEM 5"); //Тип посылаемого значения string. Устанавливаем другую опцию элемента выпадающий список (D_LIST). 

* この オプションはまだ完全には開発されていません。基礎となる項目は同じ状態のままで、フィールドは任意のテキストを受け入れます。次のバージョンで修正される予定です。

//-------------------------------------------------------------------------------------------------------------------------------

4.

   w8_s_p4_CELL_Account_name__Value("MyRealAccount"); //Тип посылаемого значения string. Посылаем текст в ячейку таблицы. 

   w8_s_p4_CELL_Account_number__Value("A001234647843B1");

   w8_s_p4_CELL_Account_server__Value("MyServer");

   w8_s_p4_CELL_Account_currency__Value("US Dollar");

   w8_s_p4_CELL_Leverage__Value("1:1");

   w8_s_p4_CELL_Account_balance__Value("1234567.23 $");


//------------------------------------------------------------------------------------------------------------------------------


2.では、入力フィールドの値をテーブル・セルに送ってみましょう:

  • 入力フィールドの値をボタンで取り込む:

   double Spin_edit_value = w6_d_p5_S_EDIT_Spin_the_value();//Делаем возврат значения параметра (тип double).

それをテーブルのセルに送る:

   w8_s_p4_CELL_Account_profit__Value((string)Spin_edit_value);//При пересылке значение double приводим к типу string. Функция ячейки имеет тип string.


この値は、宛先によって正常に受け入れられます!

//-------------------------------------------------------------------------------------------------------------------------------

では、この値を別のウィンドウのテキスト・フィールドに送ってみましょう。

w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);

値が正常に送信されました!

//-------------------------------------------------------------------------------------------------------------------------------

...

この続きはまた明日。話題はまだ尽きない。

 
本当に便利だ。
 
ここでの強制的な型変換は、ユーザーが(文字列)を関数の外に書く必要がないように、関数の中に入れることができる。
w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);
 
hini #:
ここで強制的に型変換を行うのだが、これを関数の中に入れて、ユーザーが関数の外に(文字列)を書く必要がないようにすることは可能だろうか?

質問をよく理解していなかったので、私の答えはオフトピックかもしれません。

次のようにできます:


double関数は値を返すステップで強制変換を使って文字列型の変数に戻ります。
string Spin_edit_value = (string)w6_d_p5_S_EDIT_Spin_the_value();

w7_s_p4_EDIT_Comment_2(Spin_edit_value);