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

 

포럼 회원 여러분, 안녕하세요.

드디어 엔진을 출시하고 MQL5의 풍부한 그래픽 인터페이스로 크고 멋진 프로그램을 만들고자 하는 분들을 도울 때가 왔습니다. 이제 이 목표가 눈앞에 다가왔습니다.

그래서

1. 엔진의 첫 번째 릴리스. 저는 "최초"라는 단어를 강조하고 싶습니다. 처음에 완벽한 것은 없습니다. 제가 미처 발견하지 못한 버그를 발견하실 수도 있습니다. 괜찮습니다. 아직 제가 해결하지 못한 버그는 없었습니다. 모든 것이 빠르게 해결됩니다.

2. 엔진이 완전히 완성되지 않았습니다. 현재"조건부 사용자" 애플리케이션 (1) EA Shell v1.mq5 (엔진 테스트를 위해 특별히 작성됨)는 생성된 GUI의 컨트롤의 모든 이벤트를 포착합니다. 이를 통해 이미 사용자 코드가 프로그래밍 방식으로 반응할 수 있습니다. 이벤트가 발생하면 OnGuiEvent() 함수의 필요한 경우에 값을 가져오고, API 파일에서 사용자가 인터페이스의 이벤트에 대한 반응 코드를 작성합니다.

3. 엔진에서 많은 작업이 이루어졌습니다. 변경 사항은 로컬 및 글로벌 수준 모두에 영향을 미쳤습니다. 이 기간 동안 정확히 무엇을 작성하고 다시 실행했는지 자세히 설명하겠습니다. 목록이 길어질 것입니다.

4. 릴리스에는 ReadMe.txt 파일에 설치 지침이 있습니다. 그러나 명확성을 위해 사진을 추가하겠습니다. 명확하지 않은 부분이 있으면 물어보세요. 제가 도와드리겠습니다.


일반적으로 릴리스를 다운로드하여 시작하세요.

파일:
 

새 버전의 생성자를 설치한 결과 업데이트된 컨텍스트 메뉴가 표시되어야 합니다(그래프를 두 번 클릭):


이러한 메뉴가 표시되면 설치가 성공한 것입니다.

 

이 설치는 이전 설치와 다르지 않습니다. 동일한 순서로 동일한 단계를 수행합니다.

이 블로그에 텍스트 지침이 있습니다. 그림으로도 설명되어 있습니다:

https://www.mql5.com/ru/blogs/post/758425

KIB-DRIVE instalation instractions
KIB-DRIVE instalation instractions
  • www.mql5.com
This archive contains: //------------------------------------------------------------------------------ 1. Folder     (1) KIB 1.0
 

이와 별도로 새로운 EA Shell v1.mq5 파일에 대해 언급하고 싶습니다.

EA 폴더에 저장하되 생성자에서 API 파일을 인쇄한 후에만 컴파일하세요. 헤더의 연결에 관한 것입니다.

1. 하나의 차트에서 이전과 같이 생성자와 인디케이터를 실행합니다.

2. 즉시 컨텍스트 메뉴를 열고 UIDATA 및 API 파일을 인쇄합니다.

3. 3. 이 파일을 이 경로의 폴더로 전송합니다:

#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\

4. EA Shell v1.mq5를 컴파일하고 다른 차트에 놓습니다.

5. 완료.

 

사진에 대한 간단한 설명입니다:

1.


2.


3.


4.


5.


6.


7.


 
작은 설치 지침 (1) EA Shell v1.mq5 추가 ...
 

1.



2.


3.



4.



5.



6.



7.


DiscussionForumPosting - Schema.org Type
  • schema.org
Schema.org Type: DiscussionForumPosting - A posting to a discussion forum.
 

위의 설정 창은 사용자 지정 기능으로 인터페이스 이벤트에 대한 연결 및 응답을 테스트하기 위한 것입니다.

이렇게 하려면 API 파일을 열고 호출을 작성하세요.

기본적으로 인터페이스 이벤트는 요소에 영향을 미치는 이벤트에 대해 식별자와 매개변수 값을 출력하는 Alert() 함수를 호출합니다.

 
나중에 새 버전을 테스트해 보겠습니다.
 

이번 릴리스와 다음 릴리스의 수정 및 업데이트 목록입니다:

글로벌 변경 사항:

  • Internal_API 파일의 이름이 단순히 ARI로 변경되었습니다.
  • 사용자의 컨트롤 작업과 관련이 없는 모든 정의와 함수는 API 파일에서 제거되었습니다. 부분적으로 UIDATA 파일로 이동되었습니다.
  • 사용자 코드와 컨트롤을 연결하는 방식이 근본적으로 변경되었습니다. 사용자는 컨트롤이 저장된 G_CORE 커널에 직접 액세스할 수 있습니다. 액세스는 UIDATA 파일에 자동으로 인쇄되는 래퍼 함수를 통해 실현됩니다.
  • 래퍼 함수의 이름에 특수 접두사가 추가되어 인텔리센스를 통해 해당 요소를 쉽게 찾을 수 있습니다.
  • 사용자 애플리케이션에 대한 컨텍스트 메뉴를 만들 수 있는 가능성을 열었습니다. 파일 #include<(2) KIB 프로젝트\(1) 반드시 포함해야 함\사용자 섹션\내 메뉴 섹션.mqh>에 특수 영역이 할당되었습니다.
  • 사용자 작업 표시줄의 오른쪽 부분에 버튼을 설정할 수 있는 기능이 추가되었습니다. 이를 위해 #include<(2) KIB PROJECTS\ (1) 반드시 포함해야 함\사용자 섹션\내 작업 표시줄 섹션.mqh> 파일에 특별한 영역이 마련되었습니다.
  • 이제 사용자 지정 컨텍스트 메뉴와 작업 표시줄은 생성자의 컨텍스트 메뉴에서 호출되며 다른 창을 편집하는 데 방해가 되지 않습니다:


  • 사용자 컨텍스트 메뉴는 주니어 메뉴 창을 호출할 수 있습니다.

프로젝트를 저장하고 다른 차트에서 사용자 애플리케이션 모드로 전환한 후의 모습은 다음과 같습니다.

  • 상황에 맞는 메뉴 창의 동작은 Windows 애플리케이션 환경에서의 동작과 유사합니다.

  • 컨텍스트 메뉴 옵션은 함수 또는 창을 호출할 수 있습니다. 메뉴 항목이 창을 호출하는 경우 창 아이콘이 자동으로 왼쪽으로 설정됩니다.



  • 로컬 변경 및 개선 사항:

  • 차트를 전환할 때 작업 표시줄이 점프하는 문제를 수정했습니다. 이제 창 크기 조정에 더 빠르고 더 잘 적응합니다.
  • 슬라이더가 더 잘 작동합니다:
  • 값 탭(S_WIDGET)은 항상 값의 자릿수를 수용하고 최대(또는 최소) 값의 텍스트 크기에 따라 크기를 취합니다.
  • 점수판은 사용자가 원하는 대로 4면 중 하나에 배치됩니다(플래그로 설정).
  • 슬라이더는 모든 값을 any 범위의 값을 any 슬라이더는 소수점 이하 자릿수에 상관없이 모든 범위의 값을 지정된 단계로 전환합니다.
  • 소수점 이하 자릿수(값의 정밀도)는 사용자가 설정합니다(단어 DIGITS).
  • 슬라이더의 크기와 값의 범위는 영향을 미치지 않습니다. 알고리즘은 한쪽 끝이 항상 최소값이 되고 다른 쪽 끝이 항상 최대값이 되는 방식으로 범위 내에서 슬라이더의 움직임을 계산합니다.
  • 슬라이더 트랙을 클릭하면 슬라이더가 자동으로 클릭한 위치로 이동하고 마우스 버튼을 누르면 사용자와 동기적으로 계속 이동합니다.
  • 마우스 휠로 슬라이더 트랙을 스크롤할 수 있는 기능도 추가할 계획입니다.


  • 드롭다운 목록의 문제를 수정했습니다.

  • 열기 버튼을 클릭해도 목록이 더 이상 점프하지 않습니다.
  • 하단으로 스크롤할 때 목록이 사라지는 문제를 수정했습니다.
  • 커서가 스크롤 막대나 버튼 위에 있어도 휠로 목록을 스크롤할 수 있습니다.
  • 이제 마우스 휠로 목록을 스크롤하는 속도가 빨라졌습니다.


  • 잘못된 클릭 문제가 해결되었습니다:

  1. 이전에는 버튼이나 기타 유사한 요소를 누르면 요소 공간 밖에서 누 른 경우에도 상태가 변경되었습니다. 이 문제가 해결되었습니다. 사용자가 요소를 클릭했다가 마음이 바뀌어 커서를 다른 곳으로 옮기거나 차트의 다른 요소 또는 빈 공간으로 이동한 경우, 처음 클릭한 요소는 항상 이전 상태로 돌아갑니다. 아무 일도 없었던 것처럼요. 이벤트가 취소되고 매개변수 값은 변경되지 않습니다. 잘못된 클릭 고정을 사용하면 마우스 버튼을 누른 상태에서 커서를 다른 공간으로 이동하기만 하면 마지막 순간에 클릭을 취소할 수 있습니다.


  • 사용자가 쉽게 만들 수 있도록 전문적인 Windows와 같은 설정 창을 위한 템플릿을 만드는 데 집중하기로 결정했습니다. 이러한 창의 좋은 예로는 포함된 설정 예제 1설정 예제 2 (컨텍스트 메뉴 및 작업 표시줄 사용 시 호출)이 있습니다:

  • 메시지를 차단할 수 있는 기능이 추가되었습니다.

    예시:

먼저 다른 설정 창을 엽니다. 해당 버튼은 작업 표시줄 하단에 있습니다. 그런 다음 컨텍스트 메뉴(차트를 두 번 클릭)로 이동하여 "죄송합니다, 이 주문이 차단되었습니다" 창을 엽니다. 이 창은 여기에 있습니다:


그런 다음 "죄송합니다, 이 주문은 차단되었습니다" 창이 열려 있는 상태에서 이전에 열어둔 창을 클릭해 보세요. 해당 창이 닫힐 때까지 다른 창에서의 모든 작업이 차단됩니다. 그러나 사이버 코드의 창 속성에서 차단된 창 목록을 제한할 수 있습니다. 그러면 어떤 창은 차단되고 어떤 창은 차단되지 않습니다. 사용자의 결정에 따라 달라집니다.


  • 이제 대화 창을 소리와 함께 열 수 있습니다. 이는 창 속성의 KIB 코드를 통해 설정됩니다.
  • 대화 창은 다른 창보다 특별한 우선순위를 가지며 항상 설정 창 위에 그려집니다.
  • 대화창의 버튼(확인, 취소, 확인, 닫기)을 누르면 대화창이 자동으로 작동하고 닫힙니다.


  • 대화 상자의 최소화 기능을 비활성화할 수 있습니다. 이 경우 대화 상자는 작업 표시줄에 표시되지 않습니다.


  • 창 이름은 왼쪽 또는 중앙에 위치할 수 있습니다. 창 속성(사이버 코드)의 플래그로 설정합니다.
  • 대화창은 사용자의 애플리케이션에서 프로그래밍 방식으로 호출할 수 있습니다.
  • 대화창은 다른 창이나 차트를 클릭하면 자동으로 닫힐 수 있습니다. 이 옵션은 사이버 코드의 창 속성에서 사용자가 설정합니다.