MQL로 작성된 UI 갤러리 - 페이지 65

 
Реter Konow #:
다양한 요소에 대해켜기, 끄기, LOCK_ON, LOCK_OFF, 잠금, 잠금 해제상태를설정합니다.

버튼의 켜짐/꺼짐 상태를 어떻게 설정하나요?

 
hini #:

버튼의 켜기/끄기 상태는 어떻게 설정하나요?

이것이 다음 주제입니다. 오늘은 이를 살펴보겠습니다.

이 GUI의 요소는 그려져 있으므로 상태를 가져오는 표준 메서드 ObjectGetInteger(0, "button1", OBJPROP_STATE); 는 작동하지 않는다는 점을 추가해야 합니다 .

또한 버튼을 포함한 요소의 이벤트는 API 파일로 전송된다는 점을 다시 한 번 알려드리겠습니다.

 

고려해야 할 일반적인 주제 목록입니다:

1. 인텔리센스 목록에서 방향을 정하고 오른쪽 창의 기능을 선택합니다.

2. 프로그래밍 방식으로 창 열기 및 닫기.

3. 인텔리센스 목록에서 방향을 잡고 올바른 창에서 올바른 요소 선택하기.

4. 개별 요소 속성 목록을 탐색합니다.

5. 요소 및 창 래퍼 함수의 이름 파싱하기.

선택한 요소의 매개변수 값을 해당 유형의 변수로 반환하기. 여러 가지 요소의 세 가지 유형을 고려합니다.

7. 서로 다른 유형의 요소의 매개변수에 값 설정하기. 이러한 요소의 인터페이스 창에 값이 어떻게 표시되는지 살펴봅시다.

8. 한 요소의 매개변수 값을 반환하고 해당 값을 수정하여 다른 요소로 전달하기. 다양한 유형의 요소와 값을 고려하고 서로 다른 창에서 서로 다른 유형의 요소 간 전달을 테스트해 보세요.

9. 이전 값(_V_LAST) 반환하기. 언제, 어떤 경우에 마지막 값이 필요한지(현재 값과 혼동하지 마세요).

10. 다양한 유형의 요소에 대한 켜기/끄기/잠금/잠금 해제 상태의 설정을 테스트합니다.

11. 버튼과 슬라이더가 있는 입력 필드와 같이 서로 다른 유형의 요소의 값 변경을 연결하고 동기화해 봅시다. 한 요소(수동 또는 소프트웨어)의 값이 변경되면 두 번째 요소의 값도 그에 따라 변경된다고 가정해 봅시다.

12. 래퍼 함수를 통해 슬라이더와 버튼이 있는 입력 필드의 범위 경계를 프로그래밍 방식으로 재설정해 보겠습니다. 테스트 할 시간이 없었지만 작동 할 것이라고 제안합니다. 하지만 두고 봅시다.

13. 래퍼 함수를 통해 요소 상태를 반환해 보겠습니다. 기능에 포함되어 있지만 테스트할 시간이 없었습니다. 그럼 어디 보자... 결과는 알 수 없습니다.

14. 텍스트와 요소의 기본 색상을 가져와 설정해 보겠습니다. 이 색상을 간단한 이벤트나 값 경계와 연관시켜 볼 수 있습니다.

15. 새 API 파일 출력물을 탐색하고 읽는 방법에 대해 자세히 설명하겠습니다.

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

이미 다룬 주제는 노란색으로 강조 표시되어 있습니다.


오늘은 검토하겠습니다:

11. 서로 다른 유형의 요소의 값 변경 동기화(연결): 예를 들어 버튼과 슬라이더가 있는 입력 필드. 따라서 한 요소(수동 또는 소프트웨어)의 값을 변경하면 두 번째 요소의 값도 그에 따라 변경됩니다.

12. 래퍼 함수를 통해 슬라이더와 버튼이 있는 입력 필드의 범위 경계를 프로그래밍 방식으로 재설정해 보겠습니다. 테스트 할 시간이 없었지만 작동 할 것이라고 제안합니다. 하지만 두고 봅시다.

13. 래퍼 함수를 통해 요소 상태를 반환해 보겠습니다. 기능에 포함되어 있지만 테스트할 시간이 없었습니다. 그럼 어디 보자... 결과는 알 수 없습니다.

Документация по MQL5: Основы языка / Операторы / Оператор возврата return
Документация по MQL5: Основы языка / Операторы / Оператор возврата return
  • www.mql5.com
Оператор return прекращает выполнение текущей функции и возвращает управление вызвавшей программе. Результат вычисления выражения возвращается...
 
테마가 크고 GIF와 사진이 많습니다. 시간이 많이 걸립니다...
 

11. 서로 다른 유형의 요소의 매개변수 바인딩.

관찰력이 뛰어난 사람이라면 다중 창 GUI에서 서로 다른 요소가 매개변수 값, 속성 및 상태로 연결되는 경우가 많다는 사실을 눈치챘을 것입니다. 예를 들어

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

  • 입력한 텍스트가 다른 창의 요소에 갑자기 나타납니다.
  • 버튼으로 조정할 수 있는 설정은 필드에서 슬라이더나 숫자의 위치를 변경합니다.
  • 텍스트 필드는 문자 문자열을 다른 창의 표 셀로 변환합니다.
  • 드롭다운 목록 옵션은 항목의 색상이나 글꼴을 변경합니다.
  • 클릭한 확인란은 라디오 버튼 그룹을 잠급니다.
  • 기타

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

보이지 않는 요소 연결이 어딘가에서 진행되고 있다고 생각할 수 있습니다. 그리고 실제로 있습니다. 하지만 외부 관찰자에게만 보이지 않습니다. 개발자에게는 매우 분명하며 오늘 우리는 그것을 자세히 고려할 것입니다.

1. 요소의 연결에는 두 가지 측면이 있습니다:

  • 논리적 - 모든 프로그램에는 값이 서로 직간접적으로 의존하고 재정의하는 매개변수가 있습니다.그래픽 인터페이스가 있는 프로그램에서는 연결이 시각적으로추적됩니다 .
  • 기술적 - 모든 매개변수는 내부 프로그램 알고리즘에 의해 연결됩니다.

그래픽 엔진의 존재로 인해 연결의 기술적 실현이 단순화됩니다.

설명해 드리겠습니다:

기존 전문가 어드바이저에서는 각 매개변수를사용자가 직접 생성, 이름 지정, 저장 처리합니다 . 이는 우회할 수 없는 일상적인 작업입니다. 그러나 그래픽 엔진을 사용하는 경우 생성자에서 생성된 항목은 저장 위치 및 처리/반환 기능과 함께 파라미터를 자동으로 받습니다. 또한 사용자는 유형, 범위, 과거 값 등과 같은 속성을 가져옵니다. 이렇게 하면 작업이 크게 간소화됩니다. 이론적으로는 GUI 요소의 기성 매개변수를 다른 사용자 매개변수로 사용하여 트레이딩 로직에 직접 연결할 수 있습니다. 예를 들어 로트, 추적손절, 테이크프로핏 등은 자체 변수가 아니라 해당 값을 담당하는 설정 필드에서 사용할 수 있습니다.

몇 가지 일반적인 결론

1. 프로그램에 그래픽 컨트롤이 있다는 것은 기성 프로그램 매개변수 + 해당 속성 + 값을 반환/설정하는 기능이 있다는 것을 의미합니다.

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)과 "값 굴리기" 슬라이더(H_SLIDER)가 있는 필드를 연결해 보겠습니다:

  • API 파일에서 "값 회전" 버튼이 있는 필드를 찾습니다.
  • "값 회전" 슬라이더로 값을 회전합니다.

*(중요 참고: 요소와 창의 함수는 인텔리센스 작업을 위해 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 파일에서 '값 롤링' 슬라이더를 찾습니다.
  • "값 회전" 버튼으로 필드에 값을 전송합니다.
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. 다른 유형의 요소의 바인딩 매개변수.

주제 계속하기.

Part 2.

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

표시된 바인딩 방법을 다른 요소에 적용할 수 있는지 살펴봅시다. 예를 들어, 체크박스를 예로 들어보겠습니다.

1. 상단 확인란을 잠그고 그 아래 확인란을 잠금 해제해 보겠습니다:


이렇게 하려면

1. API 파일에서'옵션 설정' 체크박스를 찾습니다.

2."다른 옵션 설정" 체크박스를 잠그거나 잠금 해제하는 함수 호출을 작성합니다.

//===========================================================================================================================
//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. 이제 확인란을 잠그고 그 아래에 있는 두 개의 확인란을 잠금 해제해 보겠습니다:

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;

결과: 확인란이 잠기고 그 아래 두 개의 확인란이 잠금 해제됩니다:


이것이 다이내믹스에서 일어난 일입니다:

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


이제 아래 다이어그램에 표시된 문제를 해결해 보겠습니다. 확인란이 그 반대편에 있는 드롭다운 목록을 잠그고 잠금 해제해야 합니다.


이렇게 하려면

  • 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 코드에서 스위치 연산자가 적용되었기 때문에 토글됩니다. 따라서 모든 버튼에 대해 하나의 공통 매개 변수가 있으며 동일한 경우 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;

결과: 버튼을 전환하면 입력 필드의 텍스트가 변경됩니다. *이 옵션에는 작은 기술적 문제가 있습니다. 다음 버전에서 수정될 예정입니다.

두 번째 파트가 완료되었습니다.

세 번째 파트에서는 표로 작업하겠습니다.

 


매개변수 바인딩 주제의 마지막 부분입니다.

요소 매개변수의 값을 테이블 셀에 전달해 보겠습니다.

스키마:



솔루션:

  • 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;

결과: 값이 선택한 테이블 셀에 안전하게 배치됩니다.


위의 예제에서 볼 수 있듯이 간단하고 편리한 솔루션을 개발했습니다. 많은 분들이 유용하게 사용하셨으면 좋겠습니다.


이것으로 요소 매개변수 연결에 대한 주제를 마칩니다.