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

 
hini #:

ボタンのオン/オフ状態を取得するには?

これが次のトピックである。今日はそれを考えてみよう。

付け加えると、このGUIの要素は描画されるので、状態を取得する標準的な方法ObjectGetInteger(0, "button1", OBJPROP_STATE);は使えません。

また、ボタンを含むエレメントのイベントはAPIファイルに送られることも覚えておいてほしい。

 

考慮すべきトピックの一般的なリスト

1.インテリセンスのリストにおける方向と、右ウィンドウの機能の選択。

2.プログラムでウィンドウを開いたり閉じたりする。

3. インテリセンスのリスト内での方向づけと、正しいウィンドウで正しい要素を選択する。

4. 個別の要素プロパティのリストをナビゲートする。

5.要素とウィンドウのラッパー関数の名前の解析。

6. 選択した要素のパラメータ値を、その型の変数に返す。いくつかの異なる要素の3つの型を考える。

7.異なるタイプの要素のパラメータに値を設定する。これらの要素のインターフェイスウィンドウに値がどのように表示されるか見てみよう。

8.あるエレメントのパラメータ値を返し、その値を修正して別のエレメントに転送する。異なるタイプの要素と値を考え、異なるウィンドウで異なるタイプの要素間の転送をテストしてみましょう。

9.前の値を返す(_V_LAST)。いつ、どのような場合に最後の値が必要なのか(現在の値と混同しないように)。

10.異なるタイプのエレメントのON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK状態の設定をテストする。

11.11.異なるタイプの要素(例えば、ボタンとスライダーを持つ入力フィールド)の値の変化をリンクし、同期させてみましょう。1つの要素(手動またはソフトウェア)の値が変化すると、それに応じて2番目の要素の値も変化するとします。

12.スライダーとボタン付き入力フィールドの範囲の境界を、ラッパー関数を使ってプログラムでリセットしてみましょう。テストする時間がなかったが、うまくいきそうな気がする。しかし、見てみよう。

13.13.ラッパー関数で要素の状態を返すようにしてみよう。機能には含まれているのだが、テストする時間がない。さて、どうなることやら。結果は不明。

14.テキストとエレメント・ベースの色を取得・設定してみましょう。これらの色を簡単なイベントや値の境界に関連付けることができます。

15.新しいAPIファイルのプリントアウトをナビゲートしたり読んだりする方法について、もう少しお話ししましょう。

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

すでに説明したトピックは黄色でハイライトされています。


今日は復習します:

11.異なるタイプの要素の値の変更の同期(リンク):例えば、ボタンとスライダーを持つ入力フィールド。これにより、1つの要素(手動またはソフトウェア)の値を変更すると、2つ目の要素の値もそれに応じて変更されます。

12.スライダーとボタン付き入力フィールドの範囲の境界を、ラッパー関数を使ってプログラムでリセットしてみましょう。テストする時間がなかったが、うまくいきそうな気がする。しかし、見てみよう。

13.13.ラッパー関数で要素の状態を返すようにしてみよう。機能には含まれているのだが、テストする時間がない。さて、どうなることやら。結果は不明。

Документация по MQL5: Основы языка / Операторы / Оператор возврата return
Документация по MQL5: Основы языка / Операторы / Оператор возврата return
  • www.mql5.com
Оператор return прекращает выполнение текущей функции и возвращает управление вызвавшей программе. Результат вычисления выражения возвращается...
 
テーマは大きく、GIFや写真がたくさんある。時間がかかる...
 

11.異なるタイプのエレメントのパラメータのバインディング。

観察力のある人は、マルチウィンドウGUIでは、異なる要素がパラメータ値、プロパティ、ステートによってリンクされていることが多いことに気づいている。例えば

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

  • 入力されたテキストが突然他のウィンドウの要素に表示される。
  • ボタンで調整可能な設定は、フィールド内のスライダーや数値の位置を変更します。
  • テキスト・フィールドは、文字列を他のウィンドウのテーブル・セルに変換します。
  • ドロップダウンリストのオプションは、項目の色やフォントを変更します。
  • クリックされたチェックボックスは、ラジオボタンのグループをロックする。
  • などなど。

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

どこかで目に見えない要素の接続が行われていると思うだろう。そして、実際にあります。しかし、それは外部のオブザーバーにしか見えません。開発者にとっては、それはごく当たり前のことであり、今日はそれを詳しく考えてみよう。

1.要素の接続には2つの側面があります:

  • グラフィカル・インターフェースを持つプログラムでは、接続は視覚的に追跡されます
  • テクニカル - すべてのパラメータは、プログラム内部のアルゴリズムによってリンクされています。

接続の技術的な実現は、グラフィカル・エンジンの存在によって単純化されます。

説明しましょう:

従来のExpert Advisorでは、各パラメータはユーザーによって 考案 命名 保存 処理さ れます。これは迂回できないルーチンワークです。しかし、グラフィカル・エンジンを使用する場合、コンストラクタで作成されたアイテムは、格納場所と処理/戻り関数とともにパラメータを自動的に受け取ります。さらに、ユーザーは範囲過去の値などの プロパティを取得する。これにより、作業が大幅に簡素化される。理論的には、GUI要素の既製のパラメータを他のユーザーパラメータとして使用し、それらを取引ロジックに直接リンクすることが可能です。例えば、ロットトレーリング・ストップ利食い、その他を、それ自身の変数からではなく、それらの値を担当する設定フィールドから使用することができます。

いくつかの一般的な結論

1. プログラム 内にグラフィカル・コントロールが存在すること レディメイドのプログラム・パラメータが存在する こと そのプロパティ値を返す/設定する機能が 存在する こと

2. 2.インターフェース・プログラムのウィンドウにコントロールが多く配置されるほど 取引ロジックや 取引情報の入出力に 関わるパラメータが多くなる

3. 設定とウィンドウの数が多ければ多いほど、制御性が高く なり、市場データ出力の帯域幅が広がります(自動化を妨げるものではありません)

4. 市場データ出力の制御が高く、帯域幅が広いほど、トレーダーの意識が 向上する

5. 意識と 自動化および制御の 掛け算 トレーダーの機会の拡大

自動化はしばしば手動操作と対立することを付け加えておく。彼らは、グラフィカル・インターフェースを持つことは手動取引を意味すると言う。しかし、そうではない。ソフトウェア・インターフェースは、自動化を排除するのではなく、自動化を拡大し、 自動 化に「勾配」をつける

トレーダーに必要なのは、オプションを選択することだけです。

このためのウィンドウは簡単に作成できる。

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


2.コントロールのパラメータをバインドする技術的な実装に話を移そう。

実際の例をいくつか考えてみましょう:

1.使い慣れた設定ウィンドウを開いてみましょう:

   //------------------------------------------------
   //Open the window "Settings example 1".

   w_6_Settings_example_1();
   //------------------------------------------------



2.APIファイルを開き、On_Gui_Event()関数内で、開いたウィンドウの要素を見つけます:




注意: すべてのコントロール・イベントはOn_Gui_Event()関数に入ってきます;

この点に関して、パラメータ・リンクの一部をこの関数の内部に、一部を関数の外部に記述 します。


1.ボタンを持つフィールド (S_EDIT) "Spin the value" とスライダー (H_SLIDER) "Roll the value" の関係を確立しましょう:

  • APIファイルから "Spin the value "ボタンを持つフィールドを見つけます。
  • 値を回転させる "スライダーに値を回転させる。

*(重要な注意: エレメントとウィンドウの関数は、UIDATAファイルからAPIファイルの一番下に移動する必要があります。)
case Settings_example_1___Spin_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the value is set?
               //------------------------------------------------------------------------------------------------------
               //Min value:  NOT SET  |   Max value:  NOT SET  |   V_step:  1.7  |   Default value:  468.99  |  Digits: 3
               //------------------------------------------------------------------------------------------------------
               w6_i_p3_H_SLIDER_Roll_the_value((int)value);
               
                 
               Alert("S_EDIT Spin_the_value    value entered: ",value);
               //------------------------------------------------------------------------------------------------------
               //Your comment: Send the value to Slider.
               //------------------------------------------------------------------------------------------------------
               break;

結果:ボタンでフィールドの値を変更し、スライダーはそれ自体で動く

(*重要 - スライダーはその範囲内(この場合、0から100まで)でのみ動くことができます。範囲を超えた場合、値は変化せず、ログにエラーが表示さ れます)


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

3.役割を逆転させてみましょう。スライダーは入力フィールドの値をコントロールします:

  • APIファイルから "Roll the value "スライダーを見つけてください。
  • API ファイルから "Roll the value" スライダーを見つけてください。
case Settings_example_1___Roll_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the slider's handle is moved?
               //------------------------------------------------------------------------------------------------------
               //Min value:  0  |   Max value:  100  |   V_step:  1  |   Default value:  75  |  Digits: Integer value
               //------------------------------------------------------------------------------------------------------
               w6_d_p5_S_EDIT_Spin_the_value((double)value);
               
               //Alert("H_SLIDER Roll_the_value    value entered: ",value);
               //------------------------------------------------------------------------------------------------------
               //Your comment: Send the value to Spin edit.
               //------------------------------------------------------------------------------------------------------
               break;

結果:スライダーのハンドルを動かすと、ボタンのあるフィールドは同期して値を変更します。


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


4.スライダーとボタン付きフィールドの相互制御を書いてみましょう:

  • APIファイルから両要素を探す。
  • 値の送信を書きます。ボタン付きフィールドはスライダーに値を送り、スライダーはボタン付きフィールドに値を送る。

case Settings_example_1___Spin_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the value is set?
               //------------------------------------------------------------------------------------------------------
               //Min value:  NOT SET  |   Max value:  NOT SET  |   V_step:  1.7  |   Default value:  468.99  |  Digits: 3
               //------------------------------------------------------------------------------------------------------
               w6_i_p3_H_SLIDER_Roll_the_value((int)value);
               
                 
               Alert("S_EDIT Spin_the_value    value entered: ",value);
               //------------------------------------------------------------------------------------------------------
               //Your comment: Send the value to Slider.
               //------------------------------------------------------------------------------------------------------
               break;





case Settings_example_1___Roll_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the slider's handle is moved?
               //------------------------------------------------------------------------------------------------------
               //Min value:  0  |   Max value:  100  |   V_step:  1  |   Default value:  75  |  Digits: Integer value
               //------------------------------------------------------------------------------------------------------
               w6_d_p5_S_EDIT_Spin_the_value((double)value);
               
               Alert("H_SLIDER Roll_the_value    value entered: ",value);
               //------------------------------------------------------------------------------------------------------
               //Your comment: Send the value to Spin edit.
               //------------------------------------------------------------------------------------------------------
               break;

結果:スライダーと入力フィールドは同時にお互いをコントロールする。

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


明日は、他の要素を使ったこのテーマの後編を投稿します。

 

これはすごいことだよ!時間があれば、このスレッドをもっと詳しくチェックするつもりだ。私の仕事はmt4のGUIの限界に挑戦していると思っていましたが、あなたの仕事は次のレベルです。


 
Dennis Jorgenson #:

これは素晴らしい資料だ!時間があるときに、このトピックをもっと詳しく調べてみようと思っています。私の仕事はmt4のGUIの限界に挑戦していると思っていましたが、あなたの仕事は次のレベルですね。


ありがとうございました!

 

11.異なるタイプの要素のパラメータをバインドする。

トピックの続き。

パート2。

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

示したバインディング・メソッドを他の要素に適用できるか見てみましょう。例えば、チェックボックスです。

1.一番上のチェックボックスをロックし、その下のチェックボックスのロックを解除します:


これを行うには

1.APIファイルで"Set an option"チェックボックスを見つけてください。

2.2."Set another option"チェックボックスをロック/アンロックする関数コールを書く。

//===========================================================================================================================
//WINDOW          :---: Settings example 1 | #: 6 | PFX: w_6
//                |   |
//GET/SET         :---: int w_6_Settings_example_1(int value = get_i, int Property = 0)
//----------------|   |------------------------------------------------------------------------------------------------------
//ELEMENT         :---: TYPE: CHECKBOX | NAME: Set an option | PAR_TYPE: int | INIT STATE: OFF | PFX: w6
//                |   |------------------------------------------------------------------------------------------------------
//LOCATION        :---: Window's Main Frame 
//----------------|   |------------------------------------------------------------------------------------------------------
//G/S PROPERTIES  :---: PFX: p7_ | PROPS: NONE
//                |   |------------------------------------------------------------------------------------------------------
//G/S ACTIONS     :---: p7_ON | p7_OFF | p7_LOCK_ON | p7_LOCK_OFF | p7_GET_STATE |
//----------------|   |------------------------------------------------------------------------------------------------------
//                |   |
//GET/SET CALL    :---: int w6_i_p7_CHECKBOX_Set_an_option(int value = none, int Property = 0)
//---------------------------------------------------------------------------------------------------------------------------
  
case Settings_example_1___Set_an_option:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the checkbox is checked or unchecked?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                //1. Lock the "Set another option" checkbox in the state ON.
                case checked:    w6_i_p7_CHECKBOX_Set_another_option(p7_LOCK_ON);   break;
  
                //2. Unlock "Set another option" checkbox in the state ON.
                case unchecked:  w6_i_p7_CHECKBOX_Set_another_option(p7_ON);        break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment: 
               //------------------------------------------------------------------------------------------------------
               break;

結果:チェックボックスは意図したとおりにロックされ、ロック解除される:

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


2.次に、チェックボックスがその下の2つのチェックボックスをロックし、アンロックするようにしてみましょう:

case Settings_example_1___Set_an_option:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the checkbox is checked or unchecked? 
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                //Lock both checkboxes----
                case checked:    w6_i_p7_CHECKBOX_Set_another_option(p7_LOCK_ON);  
                                 w6_i_p7_CHECKBOX_And_another_option(p7_LOCK_ON);
                break;

                //Unlock both checkboxes---
                case unchecked:  w6_i_p7_CHECKBOX_Set_another_option(p7_ON); 
                                 w6_i_p7_CHECKBOX_And_another_option(p7_ON);  
                break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;

結果:チェックボックスはその下の2つのチェックボックスをロックし、ロックを解除する:


ダイナミクスではこのようになります:

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


3.それでは、下図に示す問題を解決しましょう。 チェックボックスは、その反対側のドロップダウンリストをロックし、ロックを解除する必要があります


そのためには

  • これらのチェックボックスをAPIファイルで見つける必要があります。
  • ターゲット・アイテムのロック/アンロック文字列を書く。

case Settings_example_1___Set_another_option:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the checkbox is checked or unchecked?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                //Locking the element---
                case checked:    w6_s_p6_D_LIST_D_LIST_1(p6_LOCK);   break;
                
                //Unlocking the element---
                case unchecked:  w6_s_p6_D_LIST_D_LIST_1(p6_UNLOCK); break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_1___And_another_option:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the checkbox is checked or unchecked?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                //Locking the element---
                case checked:    w6_s_p6_C_LIST_C_LIST_1(p6_LOCK);   break;
                
                //Unlocking the element---
                case unchecked:  w6_s_p6_C_LIST_C_LIST_1(p6_UNLOCK); break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;

結果:チェックボックスはドロップダウンリストをロックし、メインのチェックボックスで自分自身をロックする

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


4.ドロップダウン・リストは、ユーザーが選択した値を別のウィンドウのフィールドに変換する必要があります


そのためには

  • APIファイルでドロップダウンリストを見つける必要があります。
  • ユーザー選択イベントで、別のウィンドウのテキスト・ フィールドに 値を渡す。
case Settings_example_1___D_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "L_ITEM  1"){}
               if(selected_option == "L_ITEM  2"){}
               if(selected_option == "L_ITEM  3"){}
               if(selected_option == "L_ITEM  4"){}
               if(selected_option == "L_ITEM  5"){}
               if(selected_option == "L_ITEM  6"){}
               if(selected_option == "L_ITEM  7"){}
               if(selected_option == "L_ITEM  8"){}
               if(selected_option == "L_ITEM  9"){}
               if(selected_option == "L_ITEM  10"){}
               if(selected_option == "L_ITEM  11"){}
               if(selected_option == "L_ITEM  12"){}
               if(selected_option == "L_ITEM  13"){}
               if(selected_option == "L_ITEM  14"){}
               if(selected_option == "L_ITEM  16"){}
               if(selected_option == "L_ITEM  17"){}
               if(selected_option == "L_ITEM  18"){}
               if(selected_option == "L_ITEM  19"){}
               if(selected_option == "L_ITEM  20"){}
  
               //-----------------------------------
               //Send user's choice to textbox "Comment 1" in another window.
               w7_s_p4_EDIT_Comment_1(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_1___C_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "Times_New_Roman"){}
               if(selected_option == "Arial"){}
               if(selected_option == "Tahoma"){}
               if(selected_option == "Dali"){}
               if(selected_option == "BatangChe"){}
               if(selected_option == "Consolas"){}
               if(selected_option == "Courier"){}
               if(selected_option == "Courier_New"){}
               if(selected_option == "DFKai_SB"){}
               if(selected_option == "DotumChe"){}
               if(selected_option == "FangSong"){}
               if(selected_option == "Fixedsys"){}
               if(selected_option == "GulimChe"){}
               if(selected_option == "GungsuhChe"){}
               if(selected_option == "KaiTi"){}
  

               //Send user's choice to textbox "Comment 2" in another window.
               w7_s_p4_EDIT_Comment_2(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;


*結果:両方のドロップダウン・リストが、反対側のウィンドウの入力フィールドに値を送信することに成功 しました:

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


5.切り替えられたラジオ・ボタンが、反対側の入力フィールドに名前を送信する必要があります。



そのためには

  • これらのラジオボタンが書かれている場所をAPIファイルから探しましょう。
  • 必要な入力フィールドの関数コールを書いて、ユーザーの選択イベントでラジオボタンの名前を送信しよう。

*重要:ラジオボタンは、KIBコードでSWITCH演算子が適用されているため、トグルされます。そのため、すべてに共通のパラメータが1つあり、同じケースでAPIファイルにあります。

//===========================================================================================================================
//WINDOW          :---: Settings example 2 | #: 7 | PFX: w_7
//                |   |
//GET/SET         :---: int w_7_Settings_example_2(int value = get_i, int Property = 0)
//----------------|   |------------------------------------------------------------------------------------------------------
//GROUP           :---: TYPE: R_BUTTONS | NAME: Some options group | PAR_TYPE: string | INIT OPTION: Choose option 1 | PFX: w7
//                |   |------------------------------------------------------------------------------------------------------
//LOCATION        :---: Window's Main Frame 
//----------------|   |------------------------------------------------------------------------------------------------------
//G/S PROPERTIES  :---: PFX: p7_ | PROPS: NONE
//                |   |------------------------------------------------------------------------------------------------------
//G/S ACTIONS     :---: p7_ON | p7_OFF | p7_LOCK_ON | p7_LOCK_OFF | p7_GET_STATE |
//----------------|   |------------------------------------------------------------------------------------------------------
//                |   |
//GET/SET CALL    :---: string w7_s_p7_R_BUTTON_Some_options_group(string value = get_s, int Property = 0)
//---------------------------------------------------------------------------------------------------------------------------
  
case Settings_example_2___Some_options_group:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "Choose option 1"){}
               if(selected_option == "Choose option 2"){}
               if(selected_option == "Choose option 3"){}
              
              
               //We send user's choise into the textbox "Comment 3".
               w7_s_p4_EDIT_Comment_3(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;

結果:ボタンを切り替えると、入力フィールドのテキストが変わります*このオプションには小さな技術的問題があります。次のバージョンで修正します

第2部は完成しました。

第3部では、テーブルを扱います。

 


パラメータ・バインディングの話題の最終回。

要素のパラメーターの値をテーブルのセルに渡してみましょう。

スキーマ



解決策

  • APIファイルから必要な要素を見つけよう。
  • それぞれの要素で、割り当てられたテーブル・セルに値を渡すことを書きましょう。

case Settings_example_1___D_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "L_ITEM  1"){}
               if(selected_option == "L_ITEM  2"){}
               if(selected_option == "L_ITEM  3"){}
               if(selected_option == "L_ITEM  4"){}
               if(selected_option == "L_ITEM  5"){}
               if(selected_option == "L_ITEM  6"){}
               if(selected_option == "L_ITEM  7"){}
               if(selected_option == "L_ITEM  8"){}
               if(selected_option == "L_ITEM  9"){}
               if(selected_option == "L_ITEM  10"){}
               if(selected_option == "L_ITEM  11"){}
               if(selected_option == "L_ITEM  12"){}
               if(selected_option == "L_ITEM  13"){}
               if(selected_option == "L_ITEM  14"){}
               if(selected_option == "L_ITEM  16"){}
               if(selected_option == "L_ITEM  17"){}
               if(selected_option == "L_ITEM  18"){}
               if(selected_option == "L_ITEM  19"){}
               if(selected_option == "L_ITEM  20"){}
  
               //-----------------------------------
               //Send user's choise to the cell "CELL_Account_name__Value"
               w8_s_p4_CELL_Account_name__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_1___C_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "Times_New_Roman"){}
               if(selected_option == "Arial"){}
               if(selected_option == "Tahoma"){}
               if(selected_option == "Dali"){}
               if(selected_option == "BatangChe"){}
               if(selected_option == "Consolas"){}
               if(selected_option == "Courier"){}
               if(selected_option == "Courier_New"){}
               if(selected_option == "DFKai_SB"){}
               if(selected_option == "DotumChe"){}
               if(selected_option == "FangSong"){}
               if(selected_option == "Fixedsys"){}
               if(selected_option == "GulimChe"){}
               if(selected_option == "GungsuhChe"){}
               if(selected_option == "KaiTi"){}
  

               //Send user's choice to textbox "Comment 2" in another window.
               w8_s_p4_CELL_Leverage__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_1___Roll_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the slider's handle is moved?
               //------------------------------------------------------------------------------------------------------
               //Min value:  0  |   Max value:  100  |   V_step:  1  |   Default value:  75  |  Digits: Integer value
               //------------------------------------------------------------------------------------------------------

               //Sending the slider's value into the table cell.
               w8_s_p4_CELL_Account_balance__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_2___Comment_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the text is entered?
               //------------------------------------------------------------------------------------------------------
               
               //Sending textbox's text into the cell
               w8_s_p4_CELL_Account_number__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_2___Comment_2:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the text is entered?
               //------------------------------------------------------------------------------------------------------
               
               //Sending textbox's text into the cell
               w8_s_p4_CELL_Account_server__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_2___Comment_3:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the text is entered?
               //------------------------------------------------------------------------------------------------------
      
               //Sending textbox's text into the cell
               w8_s_p4_CELL_Account_currency__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_2___C_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "Times_New_Roman"){}
               if(selected_option == "Arial"){}
               if(selected_option == "Tahoma"){}
               if(selected_option == "Dali"){}
               if(selected_option == "BatangChe"){}
               if(selected_option == "Consolas"){}
               if(selected_option == "Courier"){}
               if(selected_option == "Courier_New"){}
               if(selected_option == "DFKai_SB"){}
               if(selected_option == "DotumChe"){}
               if(selected_option == "FangSong"){}
               if(selected_option == "Fixedsys"){}
               if(selected_option == "GulimChe"){}
               if(selected_option == "GungsuhChe"){}
               if(selected_option == "KaiTi"){}
  

               //Sending C_LIST value into the cell.
               w8_s_p4_CELL_Account_profit__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
case Settings_example_2___D_LIST_1:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when an option selected?
               //------------------------------------------------------------------------------------------------------
               if(selected_option == "L_ITEM  1"){}
               if(selected_option == "L_ITEM  2"){}
               if(selected_option == "L_ITEM  3"){}
               if(selected_option == "L_ITEM  4"){}
               if(selected_option == "L_ITEM  5"){}
               if(selected_option == "L_ITEM  6"){}
               if(selected_option == "L_ITEM  7"){}
               if(selected_option == "L_ITEM  8"){}
               if(selected_option == "L_ITEM  9"){}
               if(selected_option == "L_ITEM  10"){}
               if(selected_option == "L_ITEM  11"){}
               if(selected_option == "L_ITEM  12"){}
               if(selected_option == "L_ITEM  13"){}
               if(selected_option == "L_ITEM  14"){}
               if(selected_option == "L_ITEM  16"){}
               if(selected_option == "L_ITEM  17"){}
               if(selected_option == "L_ITEM  18"){}
               if(selected_option == "L_ITEM  19"){}
               if(selected_option == "L_ITEM  20"){}
  

               //Sending the D_LIST value into the cell.
               w8_s_p4_CELL_Account_equity__Value(value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;

結果:値は選択されたテーブルセルに安全に配置さ れます。


上記の例からわかるように、私たちはシンプルで便利なソリューションを開発しました。皆さんもぜひ参考にしてください。


以上で、要素のパラメータをリンクするトピックを終わります。

 

以下のトピックが残されている:

12.スライダーと ボタン・フィールドの値の境界をプログラムで取得/設定(_V_MIN、_V_MAX、_V_STEP、_DIGITS)。

13.エレメントのステータスを問い合わせる(_GET_STATE)。

14.テキストとフレームの色を、間隔を空けた値の境界にリンクする。

15.APIファイルでのオリエンテーション


テーマの追加:

16.メッセージウィンドウと警告ウィンドウの外観のプログラムロジックの実現。

 
新しいページで続けよう。