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

 
Edgar Akhmadeev #:

...

자세한 의견에 감사드립니다.

동적 창-테이블 배열의 복잡성으로 문제를 해결하려고 노력할 것입니다.

동적 전체 화면 창은 사용자 GUI에서 특별한 목적을 가지고 있으며 결과적으로 특정 제한이 있습니다. "설정" 창처럼 보편적이지 않습니다. 그리고 이것은 논리적입니다. 결국, 특별히 "사용자 지정"된 모든 것은 항상 어떤 식으로든 제한됩니다.

그러나 동적 테이블이나 무한 목록은 동적 창에서 다른 요소 그룹과 결합 할 수 있으며 별도의 "유일한"공간이 필요하지 않지만 제 생각에는 더 편리합니다. 표와 다른 그룹과의 호환성을 실현하는 방법은 무엇인가요? - 이것은 기술의 문제입니다.

실험을 위해 테이블을 가져 와서 전체 화면 창에 삽입 해 보겠습니다. 물론 코드를 수정해야 합니다...

결과:

(사진 클릭)


솔직히 말해서 모든 것이 매우 "원시적"이기 때문에 아직 코드를 게시하지 않겠습니다. 나는 트릭과 "목발"을 사용해야했습니다. 그러나 보시다시피 모든 것이 작동 할 수 있습니다.

 
Edgar Akhmadeev #:
...

7. 한 가지 더. 동적 창은 확장 및 최소화할 수 있는 피어 창입니다. 창이 아니라 데스크톱을 원합니다. 생성자처럼요. 그래서

a) 전체 차트를 덮는 즉시 확장된 상태로 열립니다.

b) 헤더와 프레임이 없습니다(작업 표시줄만 있음).

c) 접을 수 없음

d) 일반 창처럼 요소를 배치할 수 있음

즉, DINAMIC을 전체화면 또는 데스크톱으로 바꾸세요. 이미 이에 대한 근거가 있습니다.


동적 창이 출시 된 후 작은 노트북 화면의 조건에서 합리적이라는 것을 이해하기 때문에이 옵션에 대해 생각할 것입니다.
 
Реter Konow #:
잠시 후에 계속하겠습니다.

릴리스에 포함된 윈도우의 KIB 코드(계속):

//----------------------------------------------------------------------------------
//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/               W_TYPE, SETTINGS,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/           W_NAME, "Settings example 2",
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/        W_ICON, "::Images\\16x16\\Application.bmp",  
//------------------------------------------------------
/*PLACE THE NAME IN THE MIDDLE*/  NIM,
//------------------------------------------------------
//------------------------------------------------------
/*SET WINDOW'S ADDITIONAL PROPERTIES*/   
//----------------------------------------------------------------------------------
/*WINDOW OPENS AT START*/   OPEN_ON_INIT,  /*(OOI)*/

/*MARGINS OF THE WINDOW*/   MARGINS, 20,20,/*Х, Y*/
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,

//----------------------------------------------------------------------------------------------------------
__,  BOARD, "Choose between few options:",      GAP, 65,              BOARD, "Insert text for each option:",
//----------------------------------------------------------------------------------------------------------
GAP, 10,
//---------------------------------------------------------------------------------------------------------- 
__, H_SEP,A,   W,355,    
//----------------------------------------------------------------------------------------------------------
__, R_BUTTON,"Choose option 1", ON,    _,A_TEXT, "Option 1 is chosen.",     EDIT, "Comment 1",  W,140,

__, R_BUTTON,"Choose option 2",        _,A_TEXT, "Option 2 is chosen.",     EDIT, "Comment 2",  W,140,

__, R_BUTTON,"Choose option 3",        _,A_TEXT, "Option 3 is chosen.",     EDIT, "Comment 3",  W,140,                 
//---------------------------------------------------------------------------------------------------------- 
__, H_SEP,A,    W,355,    
//---------------------------------------------------------------------------------------------------------- 

GAP, 20,
//----------------------------------------------------------------------------------------------------------
__,  BOARD, "Choose between given options:",  GAP, 40,     BOARD, "Choose your or given options:",                 
//----------------------------------------------------------------------------------------------------------
GAP, 10,
//----------------------------------------------------------------------------------------------------------
__, C_LIST, "C_LIST 1",  H,150,                            D_LIST, "D_LIST 1",  H,150,            
//---------------------------------------------------------------------------------------------------------- 
//---------------------------------------------------------------------------------------------------------- 
__, H_SEP,A,    W,355,    
//---------------------------------------------------------------------------------------------------------- 
//----------------------------------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------------------------------------------------------------------
i, AT, _X2X, "MF", 20, _Y2Y, "MF", 20,
//---------------------------------------
i, X_GAP, 55,
i, Y_GAP, 10,
//---------------------------------------
SWITCH, "Choose option 1", "Choose option 2", "Choose option 3",    END,
//---------------------------------------
//------------------------------------------------------ 
GROUP, A,
__,L_ITEM, "L_ITEM  1",ON,
__,L_ITEM, "L_ITEM  2",
__,L_ITEM, "L_ITEM  3",
__,L_ITEM, "L_ITEM  4",
__,L_ITEM, "L_ITEM  5",
__,L_ITEM, "L_ITEM  6",
__,L_ITEM, "L_ITEM  7",
__,L_ITEM, "L_ITEM  8",
__,L_ITEM, "L_ITEM  9",
__,L_ITEM, "L_ITEM  10",
__,L_ITEM, "L_ITEM  11",
__,L_ITEM, "L_ITEM  12",
__,L_ITEM, "L_ITEM  13",
__,L_ITEM, "L_ITEM  14",
__,L_ITEM, "L_ITEM  16",
__,L_ITEM, "L_ITEM  17",
__,L_ITEM, "L_ITEM  18",
__,L_ITEM, "L_ITEM  19",
__,L_ITEM, "L_ITEM  20",

END_GROUP,
//-------------------------
i, AT, LEFT_TOP, 0,0,
//-------------------------
i, IN,"D_LIST 1",
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, "V2 group",

__, L_ITEM,"Times_New_Roman",
__, L_ITEM,"Arial",
__, L_ITEM,"Tahoma",
__, L_ITEM,"Dali",
__, L_ITEM,"BatangChe",
__, L_ITEM,"Consolas",
__, L_ITEM,"Courier",
__, L_ITEM,"Courier_New",ON,
__, L_ITEM,"DFKai_SB",
__, L_ITEM,"DotumChe",
__, L_ITEM,"FangSong",
__, L_ITEM,"Fixedsys",
__, L_ITEM,"GulimChe",
__, L_ITEM,"GungsuhChe",
__, L_ITEM,"KaiTi",


END_GROUP,
//--------------------
i, IN,"C_LIST 1",
//--------------------
i, AT, LEFT_TOP, 1,1,
//--------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------------------------------
__, D_BUTTON, "Confirm", N_FRAME_COLOR, (int)C'51,153,255', _,CWIP, GAP,7,  D_BUTTON, "Cancel", _,CWIP, 
//---------------------------------------------------------------------------------------------------------- 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 230, _Y2H, "D_LIST 1",  20,
//----------------------------------------------------------------------------------
//------------------------------------------------------
//FINISH THE WINDOW BY KEYWORDS END_WINDOW,
//------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 



//----------------------------------------------------------------------------------
//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/               W_TYPE, SETTINGS,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/           W_NAME, "Input parameters:",
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/        W_ICON, "::Images\\16x16\\Tune.bmp", 
//------------------------------------------------------
/*PLACE THE NAME IN THE MIDDLE*/  NIM,
//------------------------------------------------------
/*SET COLOR OF THE BACKGROUND*/   "MF", N_COLOR,(int)C'255,255,255',
//------------------------------------------------------
/*SET WINDOW'S ADDITIONAL PROPERTIES*/   
//----------------------------------------------------------------------------------
/*WINDOW OPENS AT START*/         OPEN_ON_INIT,  /*(OOI)*/

/*MARGINS OF THE WINDOW*/         MARGINS, 15,15,/*Х, Y*/
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//-------------------------------------------------
__,V_BOX, "V1", W,272, _,H,200, _,N_FRAME,1,
//-------------------------------------------------
END_GROUP,
//-----------------------------------
 i, AT, _X2X, "MF", 3, _Y2Y, "MF", 5,
//-----------------------------------

//-------------------------------------------------
GROUP, A, 
//-------------------------------------------------
IS_TABLE, "Input parameters table",
//-------------------------------------------------
__, T_HEADER, "Variable",           C_HEADER,"Value",
//-------------------------------------------------
__, R_HEADER,"MAGICB",              EDIT,"MAGICB:", 
//-------------------------------------------------
__, R_HEADER,"MAGICS",              EDIT,"MAGICS:",
//-------------------------------------------------
__, R_HEADER,"s9",                  EDIT,"s9:",
//-------------------------------------------------
__, R_HEADER,"Hours_to_GMT_Offset", EDIT,"Hours_to_GMT_Offset:",
//-------------------------------------------------
__, R_HEADER,"Hours",               C_LIST,"Hours:",
//-------------------------------------------------
__, R_HEADER,"Begin_hour",          EDIT,"Begin_hour:",
//-------------------------------------------------
__, R_HEADER,"End_hour",            EDIT,"End_hour:",
//-------------------------------------------------
__, R_HEADER,"Comments",            EDIT,"Comments:",
//-------------------------------------------------

END_GROUP,
//------------------------------------
 i, AT, LEFT_TOP,1,1,
//------------------------------------
 i,IN,"V1",
//------------------------------------
 i,Y_GAP,-1,
//------------------------------------
 i,X_GAP,-1,
//------------------------------------

//------------------------------------
 i, IS_ZEBRA_STYLE,
//------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------
 i, T_HEADERS,  FONT_SIZE,9, W,180,  text,_A1_,_X2X,  text,_C1_,10,                               END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, R_HEADERS,  FONT_SIZE,9, H,22,   text,_A1_,_X2X,  text,_C1_,10, text,_C2_,1,                  END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, C_HEADERS,  FONT_SIZE,9, W,90,   text,_A1_,_X2X,  text,_C1_,10, N_COLOR,(int)C'155,255,255',  END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, EDITS,      FONT_SIZE,9, W,90,   text,_C2_,1,   POINTED,0,                                    END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, C_LISTS,   FONT_SIZE,9, 
               //-----------------------------
               W,90,   
               //-----------------------------
               text,_C2_,1,   
               //-----------------------------
               POINTED,0,  
               //-----------------------------
               bar,NG_LINES,0, 
               //-----------------------------
               bar,NG_STEP,0,  
               //-----------------------------
               bar,AG_LINES,0, 
               //-----------------------------
               bar,AG_STEP,0,    
               //-----------------------------
               END,
//-----------------------------------------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
GROUP, A,
//-------------------------------------------------
__,V_BOX, "V2", W,272, _,H,200, _,N_FRAME,1,
//-------------------------------------------------
END_GROUP,
//-----------------------------------
 i, AT, _X2W, "V1", 10, _Y2Y, "MF", 5,
//-----------------------------------

//-------------------------------------------------
GROUP, A, IS_TABLE, "Input parameters table 2",
//-------------------------------------------------
//-------------------------------------------------
__, T_HEADER, "Variable ",     C_HEADER,"Value ",
//-------------------------------------------------
//-------------------------------------------------
__, R_HEADER,"SELL",           C_LIST,  "SELL:",
//-------------------------------------------------
__, R_HEADER,"BUY",            C_LIST,  "BUY:",
//-------------------------------------------------
__, R_HEADER,"s7",             EDIT,    "s7:",
//-------------------------------------------------
__, R_HEADER,"LotMax",         EDIT,    "LotMax:",
//-------------------------------------------------
__, R_HEADER,"OnOffLock",      C_LIST,  "OnOffLock:",
//-------------------------------------------------
__, R_HEADER,"LockLevel",      EDIT,    "LockLevel:",
//-------------------------------------------------
__, R_HEADER,"AxelOption",     C_LIST,  "AxelOption:",
//-------------------------------------------------
__, R_HEADER,"LimLossMoney",   EDIT,    "LimLossMoney:",
//-------------------------------------------------

//-------------------------------------------------
END_GROUP,
//-------------------------------------------------
i, AT, LEFT_TOP,1,1,
//-----------------------
i,IN,"V2",
//-----------------------
i,Y_GAP,-1,
//-----------------------
i,X_GAP,-1,
//-----------------------

//------------------------------------
 i, IS_ZEBRA_STYLE,
//------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------
 i, T_HEADERS,  FONT_SIZE,9, W,180,  text,_A1_,_X2X,  text,_C1_,10,                               END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, R_HEADERS,  FONT_SIZE,9, H,22,   text,_A1_,_X2X,  text,_C1_,10, text,_C2_,1,                  END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, C_HEADERS,  FONT_SIZE,9, W,90,   text,_A1_,_X2X,  text,_C1_,10, N_COLOR,(int)C'155,255,255',  END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, EDITS,      FONT_SIZE,9, W,90,   text,_C2_,1,   POINTED,0,                                    END,
//-----------------------------------------------------------------------------------------------------------------------------
 i, C_LISTS,   FONT_SIZE,9, 
               //-----------------------------
               W,90,   
               //-----------------------------
               text,_C2_,1,   
               //-----------------------------
               POINTED,0,  
               //-----------------------------
               bar,NG_LINES,0, 
               //-----------------------------
               bar,NG_STEP,0,  
               //-----------------------------
               bar,AG_LINES,0, 
               //-----------------------------
               bar,AG_STEP,0,    
               //-----------------------------
               END,
//-----------------------------------------------------------------------------------------------------------------------------

//------------------------------------
GROUP,A,
//----------------------
__,L_ITEM,"true",
//----------------------
__,L_ITEM,"false",
//----------------------
END_GROUP,
//------------------------------------
i, IN, "Hours:",
i, AT, LEFT_TOP, 0,0,
//------------------------------------

//------------------------------------
GROUP,A,
//-------------------
__,L_ITEM,"true ",
//-------------------
__,L_ITEM,"false ",
//-------------------
END_GROUP,
//------------------------------------
i, IN, "GameOn:",
//-------------------
i, AT, LEFT_TOP, 0,0,
//------------------------------------

//------------------------------------
GROUP,A,
//--------------------
__,L_ITEM,"true  ",
//--------------------
__,L_ITEM,"false  ",
//--------------------
END_GROUP,
//------------------------------------
i, IN, "OnOffUnLine:",
//------------------------------------
i, AT, LEFT_TOP, 0,0,
//------------------------------------
END_WINDOW,
//--------------------------------------------------------
 


//------------------------------------------------------ 
//DECLARE A NEW WINDOW
//------------------------------------------------------ 
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/             W_TYPE, DIALOG,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/         W_NAME, "Risky managment!", 
//------------------------------------------------------
/*SET WINDOW'S CAPTION*/        CAPTION,"*Warning*", 
//------------------------------------------------------
/*NAME (CAPTION)IN THE MIDDLE*/ NIM,  
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/      W_ICON, "::Images\\16x16\\Warning.bmp",  
//------------------------------------------------------
/*ONLY CLOSING BUTTON*/         ONLY_CLOSING, 
//------------------------------------------------------
/*WINDOW ALWAYS ON TOP*/        ALWAYS_ON_TOP, 
//------------------------------------------------------
/*OPEN WINDOW WITH A SOUND*/    OPENING_SOUND,"::Sounds\\Windows Critical Stop.wav", 
//------------------------------------------------------ 
/*WINDOW OPENS AT START*/       //OPEN_ON_INIT,  /*(OOI)*/
//------------------------------------------------------
/*LOCK WINDOWS IF OPENED*/      LOCKS_WINDOWS, ALL_WINDOWS,   
//------------------------------------------------------
/*MARGINS OF THE WINDOW*/       MARGINS, 20,20,/*Х, Y*/
//------------------------------------------------------ 

//----------------------------------------------------------------------------------
GROUP, A,
//--------------------------------------------
__, T_BOX, "T1", TEXT,
                //--------------------------------
                "Risky settings can cause loss.",
                //--------------------------------
                END,
//--------------------------------------------
END_GROUP,
//--------------------------------------------
i, AT, _X2X, "MF", 1, _Y2Y, "MF", 1,
//--------------------------------------------
i, T_BOXES,
            text,X_CORRECTION,55,
            //----------------------------
            text,Y_CORRECTION,10,
            //----------------------------
            text, N_COLOR, (uint)clrRed,
            //----------------------------
            X_SIZE_CORRECTION,15,
            //----------------------------
            Y_SIZE_CORRECTION,20,
            //----------------------------
            TEXT_FONT, "Arial Black",
            //----------------------------
            FONT_SIZE,12,
            //----------------------------
            W, 200,  H, 70,
            //----------------------------
            END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//---------------------------------------------------
__, LABEL,A, N_LABEL,"::Images\\32x32\\Warning.bmp",
//---------------------------------------------------
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------------------------------- 

//--------------------------------------------------- 
GROUP, A,
//---------------------------------------------------
__,CHECKBOX, "Don't show this warning again.", 
//---------------------------------------------------
END_GROUP,
//---------------------------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T1", 30,
//--------------------------------------------------- 

//--------------------------------------------------- 
GROUP, A,
//---------------------------------------------------
__, D_BUTTON, "Ok", N_FRAME_COLOR, (int)C'51,153,255',_,CWIP, 
//---------------------------------------------------                       
                   GAP,7, 
//---------------------------------------------------                  
   D_BUTTON, "Cancel", _,CWIP, /*(CLOSE WINDOW IF PRESSED)*/
//---------------------------------------------------
END_GROUP,
//------------------------------------------------------------------
i, AT, _X2X, "MF", 200, _Y2Y, "Don't show this warning again.",  -5,
//------------------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 

(이해하기 쉽도록) 하루에 여러 개의 창 코드를 계속 게시할 예정입니다.

다음 주 금요일~토요일에 릴리스를 준비 중입니다.

주요 작업 설정:

  • 사용자 애플리케이션 측에서 요소와 창에 대한 소프트웨어 제어를 구현합니다.
  • 사용자가 표로 작업하는 데 필요한 기능을 준비/디버그합니다.
  • 탭과 작업 표시줄의 심각한 버그를 수정합니다.
  • 사소한 버그를 수정합니다.


  • 엔진이 사용자 애플리케이션과 "공생" 컴파일하는 순간에 선택한 리소스만 로드하도록 합니다.

 
Реter Konow #:

이해를 돕기 위해 하루에 여러 개의 창 코드를 계속 게시할 예정입니다.

다음 주 금요일~토요일에 릴리스를 준비 중입니다.

주요 작업 설정:

  • 사용자 애플리케이션 측면에서 요소와 창에 대한 소프트웨어 제어를 실현합니다.
  • 사용자가 표로 작업하는 데 필요한 기능을 준비/디버그합니다.
  • 탭과 작업 표시줄의 심각한 버그를 수정합니다.
  • 사소한 버그를 수정합니다.


  • 엔진이 사용자 애플리케이션과 "공생" 컴파일할 때 선택한 리소스만 로드하도록 합니다.

안녕하세요! 질문이 하나 있습니다: 라이브러리가 시각적 모드에서 디버거에서 작동하나요? 구체적으로, 버튼을 누르고 표준 수평선을 드래그하는 것에 대한 반응 만 필요합니다. OnChartEvent의 MT5에서는 모든 것이 디버거에서 작동하며, 약 7 년 동안 MT5에서는 "끔찍한 문제"에 대처할 수 없습니다. 이러한 결함을 우회 할 수 있었습니까?

 
Alexey Volchanskiy #:

안녕하세요, 질문이 하나 있는데요, 라이브러리가 시각 모드에서 디버거로 작동하나요? 특히 버튼 누름과 표준 수평선 드래그에 대한 반응 만 필요합니다. OnChartEvent의 MT5에서는 모든 것이 디버거에서 작동하지만 약 7 년 동안 MT5에서는 "끔찍한 문제"에 대처할 수 없습니다. 이 결함을 우회할 수 있었을까요?

불행히도, 아니요. MT5의 디버깅 모드에서는 인터페이스가 작동하지 않습니다. 아무것도 할 수 없었습니다.

이 문제를 제기해 주셔서 감사합니다. 그래픽 엔진에 연결된 표준 작성 프로그램에서 디버거를 테스트해야 합니다.
 
Реter Konow #:
...


...그래픽 엔진에 연결된 표준 작성 프로그램에서 디버거를 테스트해야 합니다.

문제는 꽤 해결할 수 있다고 생각합니다. 디버깅하는 동안 사용자는 연결 줄을 주석 처리하여 엔진 연결을 끊은 다음 특수 #include 줄을 열어 해당 기능의 호출을 공백으로 리디렉션합니다:

//+------------------------------------------------------------------+
//|                                                  EA Shell v1.mq5 |
//|                        Copyright 2024, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//#include<(1) KIB 1.0\(4) CONNECTIONS\KIB-DRIVE CONNECTIONS.mqh>
//+------------------------------------------------------------------+
#include<(1)  KIB 1.0\DEBUG_MODE.mqh> 
//--------------------------------------------------------------------
#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\UIDATA.mqh>
//--------------------------------------------------------------------
#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\API.mqh> 
//+------------------------------------------------------------------+
 

사용자 프로그램과 엔진 간의 모든 통신은 여러 함수를 통해 이루어집니다. 우선 OnChartEvent()가 있습니다. 또한 OnInit(), OnTimer(), OnDeinit(). 더 이상 엔진에 대한 링크는 없고 API 및 UIDATA 파일에만 링크됩니다. 그러나 거의 자급자족할 수 있는 기능이 있으며 엔진을 비활성화하고 몇 가지 공백을 활성화하면 오류가 발생하지 않습니다. GUI 만 작동을 멈추지 만 어쨌든 디버그 모드에서는 작동하지 않습니다.

사용자 프로그램 디버깅을 위해 엔진을 비활성화 할 수 있다고 생각합니다.