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

 

제가 사용하는 텍스트를 입력할 때 GUI에 정상과 같이 90도 회전된 가로 방향(......)으로 표시되는 치명적인 문제를 발견했습니다:

你好


 
hini #:

코드를 따라 테스트한 결과 임의 문자열의 길이가 너무 길면 자동 검색되지 않는 예기치 않은 문제가 발견되었습니다.


네, 메시지 주셔서 감사합니다. 한번 살펴볼게요.

일반적으로 기본적으로 텍스트는 항상 짧아집니다. 전에는 이런 일이 없었는데요. 새로운 기능이 추가되었기 때문일 수 있습니다.

 
hini #:

저에게 치명적인 문제가 발견되었는데, 바로 입력한 텍스트가 평소와 같이 90도 회전된 가로 방향(......)으로 GUI에 표시된다는 것입니다:


모르겠습니다. 언어 설정과 관련이 있을 수 있습니다. 아마도 MQL 내부의 표준 TextOut() 함수가 작동하는 방식일 것입니다. 개발자에게 물어봐야 합니다. 내 코드는 확실히 텍스트를 바꾸지 않습니다. 그런 옵션이 없습니다.

 
hini #:

코드를 따라 테스트한 결과 임의 문자열의 길이가 너무 길면 자동 검색되지 않는 예기치 않은 문제가 발견되었습니다.

그런데 프로그래밍 방식으로 텍스트를 입력 한 후 입력 상자를 클릭 한 다음 다른 창 공간을 클릭하면 상자의 텍스트가 축소됩니다. 이는 창 구성 단계에서 다른 텍스트가 짧아지기 때문에 새로운 기능 때문인 것 같습니다. 이 경우 텍스트 단축 플래그가 이미 설정되어 있으므로 기능이 텍스트를 줄이지 않습니다. 결함은 분명합니다.

 
hini #:

저에게 치명적인 문제가 발견되었는데, 바로 입력한 텍스트가 평소와 같이 90도 회전된 가로 방향(......)으로 GUI에 표시된다는 것입니다:


텍스트의 각도를 담당하는 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);