패널 및 대화 상자를 만들기 위한 클래스

 

다음은 수업 입니다. 물론 너무 많은 질문이 있습니다. 그러나 현재 중요한 것은 하나입니다.

하위 창의 표시기에서 가격 차트에 패널을 만드는 방법이 있습니까?

 
Dmitry Fedoseev :

다음은 수업 입니다. 물론 너무 많은 질문이 있습니다. 그러나 현재 중요한 것은 하나입니다.

하위 창의 표시기에서 가격 차트에 패널을 만드는 방법이 있습니까?

이것은 (\MQL5\Indicators\Examples\Panels\SimplePanel\SimplePanel.mq5) 잘못된 것입니까?

EURUSDM1

 
Vladimir Karputov :

이것은 (\MQL5\Indicators\Examples\Panels\SimplePanel\SimplePanel.mq5) 잘못된 것입니까?

하지 그. 지표 자체는 하위 창에 그려지며 패널은 가격 차트에서 생성되어야 합니다. subwin 매개변수에 대한 응답이 없습니다. Dialog.mqh의 코드로 판단하면 다음을 수행해서는 안 됩니다.

bool CAppDialog::CreateIndicator( const int x1, const int y1, const int x2, const int y2)
  {
   int width=m_chart.WidthInPixels();
//--- geometry for the minimized state
   m_min_rect.LeftTop( 0 , 0 );
   m_min_rect.Width(width);
   m_min_rect.Height(CONTROLS_DIALOG_MINIMIZE_HEIGHT- 2 *CONTROLS_BORDER_WIDTH);
//--- determine subwindow
   m_subwin= ChartWindowFind ();

나는 이미 탈출구를 찾았습니다. 매우 까다롭습니다. 그럼에도 불구하고 이러한 클래스를 만든 사람의 사고 과정은 매우 흥미롭습니다.

 
Dmitry Fedoseev :

하지 그. 지표 자체는 하위 창에 그려지며 패널은 가격 차트에서 생성되어야 합니다. subwin 매개변수에 대한 응답이 없습니다. Dialog.mqh의 코드로 판단하면 다음을 수행해서는 안 됩니다.

bool CAppDialog::CreateIndicator( const int x1, const int y1, const int x2, const int y2)
  {
   int width=m_chart.WidthInPixels();
//--- geometry for the minimized state
   m_min_rect.LeftTop( 0 , 0 );
   m_min_rect.Width(width);
   m_min_rect.Height(CONTROLS_DIALOG_MINIMIZE_HEIGHT- 2 *CONTROLS_BORDER_WIDTH);
//--- determine subwindow
   m_subwin= ChartWindowFind ();

나는 이미 탈출구를 찾았습니다. 매우 까다롭습니다. 그럼에도 불구하고 이러한 클래스를 만든 사람의 사고 과정은 매우 흥미롭습니다.

나는 이것을하지 않았다 - 나를 위해 표시기 가 대화 상자와 패널을 만들기위한 클래스를 기반으로 패널 을 만든 다음 자체 창에서 생성하는 경우. 이벤트를 받을 수 있는 링크도 있는 것 같습니다.
 

또 다른 결함이 발견되었습니다. 나는 가격 차트의 지표에서 패널을 만들고 차트의 하위 창에 지표가 있으면 패널이 버그가 있는 것입니다.

패널과 대화 상자를 만들기 위한 수업이 아니라 지옥에서 온 일종의 선물입니다.

 

GUI는 무엇이 되어야 합니까? 어떤 컨트롤을 사용할 계획입니까? 내 버전을 사용하여 필요한 모든 기사에 대한 그래픽 인터페이스를 만드는 데 도움을 줄 수 있습니다.

다음은 라이브러리의 최신 버전(빌드 4)입니다. 그래픽 인터페이스 X: "표준 그래프" 요소(빌드 4)

관심이 있으시면 PM에서 계속하겠습니다.

 
Anatoli Kazharski :

GUI는 무엇이 되어야 합니까? 어떤 컨트롤을 사용할 계획입니까? 내 버전을 사용하여 필요한 모든 기사에 대한 그래픽 인터페이스를 만드는 데 도움을 줄 수 있습니다.

다음은 라이브러리의 최신 버전(빌드 4)입니다. 그래픽 인터페이스 X: "표준 그래프" 요소(빌드 4)

관심이 있으시면 PM에서 계속하겠습니다.

나는 그것이 무엇이어야하는지 모르겠습니다. 여기 있는 GUI 테마의 수만 봐도 로슈가 패널과 다이얼로그를 만들기 위한 표준 클래스를 대중화하기로 했다고 생각합니다. 나는 그것들을 철저히 다루었습니다. 대중화되어서는 안되며 영원히 잊혀져야합니다.

GUI 작성에 대한 기사에 대한 특별한 요구 사항이 없다면(언젠가 Rosh가 답변해 주기를 바랍니다), 제가 직접 만들 수 있습니다. 나는 당신의 기사를 읽을 수 있습니다. 나는 내 문제를 다른 사람 탓으로 돌리는 데 익숙하지 않습니다.

 
Dmitry Fedoseev :

...

나는 당신의 기사를 읽을 수 있습니다. 나는 내 문제를 다른 사람 탓으로 돌리는 데 익숙하지 않습니다.

네, 어렵지 않습니다. 즉, 시간이 많이 걸리지 않을 것입니다. 게다가, 그것은 나에게 흥미 롭습니다.

말 그대로 이 스레드의 질문에 대한 표시기 템플릿이 준비되었습니다.

//---

예고편의 파일과 함께 보관하십시오.

파일:
Test.zip  3 kb
 
Anatoli Kazharski :

네, 어렵지 않습니다. 즉, 시간이 많이 걸리지 않을 것입니다.

말 그대로 이 스레드의 질문에 대한 표시기 템플릿이 준비되었습니다.

//---

예고편의 파일과 함께 보관하십시오.

Anatoliy, 표준 라이브러리 에 클래스를 추가하는 것에 대해 MQ와 이야기를 나누셨습니까? 당신은 너무 많은 작업 + 기사를 수행했습니다. 모든 것이 아름답지만 표준 라이브러리는 이것으로 빛나지 않습니다.

아니면 대안으로 할 것인지...

 
Alexey Kozitsyn :

Anatoliy, 표준 라이브러리 에 클래스를 추가하는 것에 대해 MQ와 이야기를 나누셨습니까? 당신은 너무 많은 작업 + 기사를 수행했습니다. 모든 것이 아름답지만 표준 라이브러리는 이것으로 빛나지 않습니다.

아니면 대안으로 할 것인지...

이미 대안으로 존재합니다. 그러나 표준 라이브러리에 포함하려면 훨씬 더 많은 작업이 필요합니다. 나는 반 구운 제품을 퍼뜨리고 싶지 않습니다. 현재 구현 단계에서는 모두가 예라고 해도 동의하지 않습니다.
 
Anatoli Kazharski :

네, 어렵지 않습니다. 즉, 시간이 많이 걸리지 않을 것입니다. 게다가, 그것은 나에게 흥미 롭습니다.

말 그대로 이 스레드의 질문에 대한 표시기 템플릿이 준비되었습니다.

//---

예고편의 파일과 함께 보관하십시오.

알았어 알았어 물어볼게 그러나 며칠 후. 좀 쉬어야겠어, 과열됐어. 예. GUI 요구 사항에 대한 Roche의 답변을 듣고 싶습니다.

그래도 괜찮으시다면 위의 그림과 같이 두 개의 입력 필드 , 스핀이 있는 두 개의 입력 필드, 두 개의 드롭다운 목록 및 버튼이 있는 창이 있는 템플릿을 표시하세요. 당연히 이벤트가 처리되어야 하며 창 크기를 조정하는 방법에 대한 코드 예제도 있어야 합니다.

내 작업의 주요 본질은 즉석에서 컨트롤 집합을 변경하는 것입니다.
사유: