MQL5의 OOP에 대한 질문 - 페이지 15

 
Vasiliy Pushkaryov :

잘못된 정보에 대해 사과드립니다. 이전에 자식 클래스에서 Create() 메서드를 호출하는 것이 불가능하다고 썼습니다.

지금 확인해보니 가능합니다. 그러나 비공개 멤버 m_button에 대한 액세스는 사용할 수 없었습니다. 저것들. 예를 들어 버튼의 상태 를 확인하는 것은 불가능했습니다.

Igor의 힌트로 이제 가능합니다.

버튼에는 문제가 없지만 이 클래스에는 미리 만들어진 메서드(필드가 아님)가 있습니다. 상태를 확인하기 위해 그렇지 않은 경우 IsActive() 또는 PropFlags() 또는 StateFlags() 지금 버튼이 무엇인지 알아낼 준비가 된 것

글쎄요, MQL에서 그래픽을 사용한 두 번째 해킹을 알려 드리겠습니다. 버튼의 이름( Name() )을 찾아 버튼의 이름으로 찾을 수 있으며 ObjectGetInteger() 및 기타 기능을 통해 상태를 가져올 수 있습니다. 하지만 "서투르게" 하지 않으려면 - ObjectGetInteger()를 통해 속성을 가져오기 위해 클래스에 고유한 메서드를 작성하십시오.


와! ;)

추신: 나는 또한 SB로 고통받았습니다 - 마치 마우스 클릭이 개체 위에 있는 것처럼 패널이 축소되고 패널이 확장된 후에 확인란이 선택되는 이유를 찾을 수 없습니다. () 내 확인란의 개체 속성 선택 해제

 
Igor Makanu :

버튼에는 문제가 없지만 이 클래스에는 미리 만들어진 메서드(필드가 아님)가 있습니다. 상태를 확인하기 위해 그렇지 않은 경우 IsActive() 또는 PropFlags() 또는 StateFlags() 지금 버튼이 무엇인지 알아낼 준비가 된 것

글쎄요, MQL에서 그래픽을 사용한 두 번째 해킹을 알려 드리겠습니다. 버튼의 이름( Name() )을 찾아 버튼의 이름으로 찾을 수 있으며 ObjectGetInteger() 및 기타 기능을 통해 상태를 가져올 수 있습니다. 하지만 "서투르게" 하지 않으려면 - ObjectGetInteger()를 통해 속성을 가져오기 위해 클래스에 고유한 메서드를 작성하십시오.

와! ;)

추신: 나는 또한 SB로 고통받았습니다 - 마치 마우스 클릭이 개체 위에 있는 것처럼 패널이 축소되고 패널이 확장된 후에 확인란이 선택되는 이유를 찾을 수 없습니다. () 내 확인란의 개체 속성 선택 해제

나는 이것도 직면했다. 안보리의 대화 패널을 자신만의 색으로 칠할 필요가 있었습니다. 그들은 또한 개인 섹션에 숨겨져있었습니다. ObjectGetInteger() 를 통해 패널을 직접 페인팅하는 메소드를 가지고 나왔습니다. 그리고 접고 펼친 후에도 불편함이 있었습니다.

첫 번째 축소 전의 제목은 다음과 같습니다.


그리고 그 후


기본 색상이 닫기 및 최소화 버튼으로 반환되는 이유는 안전보장이사회의 야생에서도 찾을 수 없었습니다.

 
Vasiliy Pushkaryov :

나는 이것도 직면했다. 안보리의 대화 패널을 자신만의 색으로 칠할 필요가 있었습니다. 그들은 또한 개인 섹션에 숨겨져있었습니다. ObjectGetInteger()를 통해 패널을 직접 페인팅하는 방법으로 나왔습니다. 그리고 접고 펼친 후에도 불편함이 있었습니다.

첫 번째 축소 전의 제목은 다음과 같습니다.


그리고 그 후


기본 색상이 닫기 및 최소화 버튼으로 반환되는 이유는 안전보장이사회의 야생에서도 찾을 수 없었습니다.

나는 다시 한 번 지역 표준을 살펴보고 내 라이브러리를 작성하기로 한 결정이 올바른지 확인했습니다)))
 
Vladimir Simakov :
나는 다시 한 번 지역 표준을 살펴보고 내 라이브러리를 작성하기로 한 결정이 올바른지 확인했습니다)))

나는 여기 에서 발췌한 버튼으로 잠시 글을 썼습니다.

버튼을 천천히, 약 1초에 한 번만 누르면 모든 것이 잘 작동합니다. 조금 더 빠르게 누르기 시작했는데 이벤트가 가로채지 않는 경우가 많습니다.

라이브러리에서 이러한 문제를 발견했습니까? 이것이 안전보장이사회의 구현인지 아니면 이벤트 처리 아키텍처인지 알고 싶습니다. 더 이상 이를 우회할 수 없습니까?

 
Vasiliy Pushkaryov :

... 이것이 안보리의 구현인지 이벤트 처리 아키텍처인지 알고 싶습니다. 더 이상 우회할 수 없습니까?

라이브러리를 사용 하지 않고 독립적으로 버튼을 그래픽 개체로 생성하고 라이브러리를 통해 생성된 버튼과 동작을 비교할 수 있습니다.

 
Dmitry Fedoseev :

라이브러리를 사용하지 않고 독립적으로 버튼을 그래픽 개체로 생성하고 라이브러리를 통해 생성된 버튼과 동작을 비교할 수 있습니다.

아이디어 감사합니다. 지금 시도해 보겠습니다.
 
Vasiliy Pushkaryov :

나는 여기 에서 발췌한 버튼으로 잠시 글을 썼습니다.

라이브러리에서 이러한 문제를 발견했습니까? 이것이 안전보장이사회의 구현인지 아니면 이벤트 처리 아키텍처인지 알고 싶습니다. 더 이상 이를 우회할 수 없습니까?

시장이 아닌 자신을 위해 작성하는 경우 C#의 버튼이 있는 창을 만들고 C#의 MQL .dll에서 호출하는 것이 더 쉽습니다. 버튼, 창, 확인란 등이 있는 모든 환상. 30분 이내에 - 한 시간은 C #으로 구현되지만 일주일 동안 Google에서 자료를 검색해야 했습니다.

주제에 따라 터미널 배달의 패널을 기본으로 사용하면 폴더에 표시기가 있는 것 같았고 이를 기반으로 인터페이스를 훨씬 빠르게 만들 수 있지만 다시 내 경험으로 판단합니다.

추신: 예, 기억합니다. 코드 베이스에 간단한 패널을 게시했는데 버튼이 없지만 텍스트 레이블이 있고 코드가 가능한 한 간단합니다. https://www.mql5.com/ru/code /25897

 
Dmitry Fedoseev :

라이브러리를 사용하지 않고 독립적으로 버튼을 그래픽 개체로 생성하고 라이브러리를 통해 생성된 버튼과 동작을 비교할 수 있습니다.

네, 예전 작업에서 가져왔습니다. SB로 작업하지 않을 때 닫기 버튼처럼 만들었습니다. 빠른 작동:


SB 구현에 문제가 있음이 밝혀졌습니다.

 
Vasiliy Pushkaryov :

네, 예전 작업에서 가져왔습니다. SB로 작업하지 않을 때 닫기 버튼처럼 만들었습니다. 빠른 작동:


SB 구현에 문제가 있음이 밝혀졌습니다.

표준 라이브러리 는 컨트롤이 폼에 생성됨을 의미합니다. 단지 그들이 전혀 작동하지 않는 것 같습니다. 적어도 예전에는 그랬습니다.

 
Igor Makanu :

시장이 아닌 자신을 위해 작성하는 경우 C#의 버튼이 있는 창을 만들고 C#의 MQL .dll에서 호출하는 것이 더 쉽습니다. 버튼, 창, 확인란 등이 있는 모든 환상. 30분 이내에 - 한 시간은 C #으로 구현되지만 일주일 동안 Google에서 자료를 검색해야 했습니다.

주제에 따라 터미널 배달의 패널을 기본으로 사용하면 폴더에 표시기가 있는 것 같았고 이를 기반으로 인터페이스를 훨씬 빠르게 만들 수 있지만 다시 내 경험으로 판단합니다.

추신: 예, 기억합니다. 코드 베이스에 간단한 패널을 게시했는데 버튼이 없지만 텍스트 레이블이 있고 코드가 가능한 한 간단합니다. https://www.mql5.com/ru/code /25897

아니요, 저는 C#을 모릅니다.

게시판 한번 보겠습니다 감사합니다.

사유: