クラウドソーシングによるGUI。オープンベータテストを実施。 - ページ 16

 
Nikolai Semko:

まだ理解できていない。インジケータやEAがGUIで動作するためには、何か他のもの(カーネル、エンジンなど)が並行して動作している必要があるのでしょうか?

もう違う。エンジンはオープンインクルードファイル です。前の記事のイラストのように接続されています。もう一度よく見てください。

#include<GUI_DRIVE.mqh>
Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
[in]  Имя открываемого файла, может содержать подпапки. Если файл открывается для записи, то указанные подпапки будут созданы в случае их отсутствия. [in]  значение, используемое в качестве разделителя в txt или csv-файле. Если для csv-файла разделитель не указан, то по умолчанию используется символ табуляции. Если для txt-файла разделитель не...
 

Реter Konow
:

もう違う。エンジンはオープンインクルードファイル です。前の記事のイラストのように接続します。もう一度よく見てください。

それならOKです。
しかし、プログラムから最初のインターフェイス・ウィンドウの要素を読んだり、変更したりするにはどうしたらよいのでしょうか?どのようなものですか?
私の例では、次のようになります。

if (myGUI.win[0].ChecBox[2].isCheck())   myGUI.win[1].TextLabel[5].text  =  DoubleToString(rates[0].close,_Digits);

 
Nikolai Semko:

よし、それなら
しかし、プログラムから最初のインターフェイス・ウィンドウの要素を読んだり、変更したりするにはどうしたらよいのでしょうか?どのようなものですか?
私の例では、次のようになります。


よりシンプルに。コントロールの 全機能は自動的に命名され、api ファイルに出力されます。チェックボックスを取得または変更する必要がありますか?名前を書き始めると、インテリセンスが似たような名前のチェックボックスのリストを表示します。

ここでリアクションを書くのです。

//=====================================================================================================================
//WINDOW:   Menu | element: CHECKBOX  | name: Simple checkbox  |  Location: Window's Main Frame
//=====================================================================================================================
case CHECKBOX3___Simple_checkbox:
               //------------------------------------------------------------------------------------------------------
               //What to do when checkbox checked or unchecked?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case checked:     break;
  
                case unchecked:     break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
  
//=====================================================================================================================


そして、彼の挑戦はこうだ。

E_Menu_Simple_checkbox(); 

E_という接頭語から始まり、ウィンドウ名、項目名となります。インテリセンスにお任せください。すべてを記憶する必要はないのです。

 
Nikolai Semko:

よし、それなら
しかし、プログラムから最初のインターフェイス・ウィンドウの要素を読んだり、変更したりするにはどうしたらよいのでしょうか?どのようなものですか?
私の例では、次のようになります。


グラフィカルコンストラクタは、例えば、defineを作成することができます。

#define  close_prise_of_last_bar myGUI.win[1].TextLabel[5].text
#define  show_last_price myGUI.win[0].ChecBox[2].isCheck()

というように、さらに読みやすいコードにすることができます。

if (show_last_price)  close_prise_of_last_bar  =  DoubleToString(rates[0].close,_Digits);
 
Nikolai Semko:

グラフィカルコンストラクタは、例えば、defineを作成することができます。

というように、さらに読みやすいコードにすることができます。

いずれも昔からあるものばかりです。1年前からテストしています。

 
Реter Konow:

よりシンプルに。すべての制御関数は自動的に命名され、api ファイルに出力されます。チェックボックスを取得または変更する必要がありますか? 名前を書き始めると、インテリセンスが似たような名前のチェックボックスを選んで表示してくれます。

ここでリアクションを書くのです。


そして、彼の挑戦はこうだ。

E_という接頭語から始まり、ウィンドウ名、項目名となります。インテリセンスにお任せください。すべてを記憶する必要はないのです。

ふにおちない

 
Nikolai Semko:

理解できない。

3つのファイルをプラグインすると、エディターで作成されたすべてのGUIを完全に所有することができます。これ以上ないほどシンプルです。

 
グラフィックエレメントを コードで作成することは可能ですか?
 
Aliaksandr Hryshyn:
グラフィックエレメントをコードで作成することは可能ですか?
それじゃ意味がない。マークアップ言語のコードだけなら。編集者は最も簡単な選択肢です。
 
Реter Konow:
これでは意味がない。マークアップ言語のコードの中だけなら。エディターは最も簡単なオプションです。

ステートレスGUIがどのように動作するか見てみましょう(ググってみてください)。

if (Button("hello world!")) {

printf("fck u self");

}

描画とボタンへの反応を同時に行います。

理由: