Galeria de UIs escritas em MQL - página 44

 

Apenas um lembrete: se você encontrar algum erro, não importa qual seja, informe-o. Isso é necessário para aprimorar o designer e o mecanismo.

Gostaria de salientar que os problemas encontrados pelo usuário/testador podem ter vários motivos:

  • (1) Falha/erro de código.

//-----------------------------------------------------
  • (2 ) Instalação incorreta da versão de lançamento do construtor e do mecanismo no ME ou no MT5.
  • (3 ) Código de marcação incorreto escrito pelo usuário.
  • (4 ) Compreensão incompleta das regras de trabalho com a interface gráfica.
  • (5 ) Interpretação errônea do comportamento dos elementos da interface.
  • (6 ) Parâmetros ou propriedades definidos incorretamente.
//-----------------------------------------------------


Concordo que somente o primeiro item é 100% minha culpa. Os outros também são minha culpa, mas apenas pela metade. Porque ou eu expliquei mal ou esqueci de explicar. Percebendo isso, sou bastante autocrítico na avaliação dos resultados dos testes. Mas o usuário também deve se lembrar de que nem tudo que não funciona realmente não funciona por minha culpa. Mas acredito que as pessoas que experimentam ou testam o construtor e o mecanismo têm o nível certo de competência. Portanto, esta postagem é apenas uma declaração do óbvio.


 

Os membros do fórum devem ter notado que há algumas janelas na versão mais recente.

Vou listar:

1. A já conhecidabarra de tarefas (Taskbar) do designer.

2. O menu de contextoprincipal do construtor(Main Menu).

3. O menu personalizado, chamado a partir do menu principal.

4. Janelas do menu personalizado chamadas a partir do menu personalizado (três janelas: janelas de demonstração, janelas de configurações, janelas de diálogo).

5. Cinco janelas de configurações: Parâmetros principais, Informações da conta, Parâmetros de entrada, Exemplo de configurações 1, Exemplo de configurações 2.

6. Seis janelas de diálogo: Gerenciamento arriscado, Configurações incorretas, Ganhar US$ 1.000,00, Processar os dados, Permitir alterações, Desculpe, este pedido está bloqueado.


Juntos, temos 17 janelas.

Cada janela contém um número diferente de itens. A menor é de até 10, a maior é de até cem ou mais. Mas esse não é o limite. Pode haver 2 ou 3 vezes mais janelas. Embora eu não tenha testado o construtor no máximo, tenho certeza de que ele pode lidar com cinco vezes o número de janelas.

Mas eu queria dizer outra coisa. Muitas janelas podem ser usadas como modelo. Em primeiro lugar, janelas de configurações e mensagens. A estrutura comum pode ser herdada ou transmitida entre projetos de uma ou várias pessoas. Afinal de contas, o código de marcação é bastante simples e não é difícil mesclá-lo.

Então, a partir de que foi criado o projeto de demonstração? Sugiro que você dê uma olhada no arquivo

#include<(2)  KIB PROJECTS\(6) DEMO PROJECTS\Demo project 1.mqh>        подключенный в (1) KIB-source v1.mq5.

Lá você encontrará o código KIB de todas as janelas desse projeto de demonstração.

Mostrarei o código de cada janela separadamente, para que aqueles que quiserem entendê-lo possam fazê-lo.

 

Menu de contexto principal:


//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Main context menu",    W_TYPE, MENU,   WINDOW_GROUP, MAIN_CONTEXT_MENU, 
//---------------------------------------------------------------------------------- 
 /**/ GROUP, "Menu items",
 //-----------------------------
 
__, M_ITEM, "MAIN MENU", POINTED,0, 
                       //-----------------------------
                       _,N_COLOR,(uint)C'240,240,240',
                       //-----------------------------
                       _,FONT_SIZE, 10, 
                       _,TEXT_STYLE, (int)FW_BOLD,
                       _,TEXT_FONT,"Arial_Black", 
                       _,text, N_COLOR,(uint)C'0,0,0',  
                       _,text, _A1_,_C2C, 
                       _,text, _C1_,-20, 
                       _,text, _A2_,_C2C,
                       
                       //-----------------------------
__, M_SEP,A, 
//---------------------------------------------------------------------------------- 
__, M_ITEM, "Bring window on top", TENURED,  _,PAR_TYPE,0, _,C_FUNCTION, BRING_WINDOW_ON_TOP,  _,N_LABEL,"::Images\\16x16\\Up.bmp", 
//----------------------------------------------------------------------------------
__, M_SEP,A, 
//----------------------------------------------------------------------------------
__,M_ITEM,"Standart Taskbar", OPENS_WINDOW, "Taskbar", _,N_COLOR, (uint)C'255,255,230', _,P_COLOR, (uint)C'255,255,220',_,NP_FRAME_COLOR, (uint)C'255,255,20',
//----------------------------------------------------------------------------------
 __, M_SEP,A, 
//---------------------------------------------------------------------------------- 
__,M_ITEM,"Custom Taskbar", _,N_COLOR, (uint)C'240,255,240', _,P_COLOR, (uint)C'230,255,230',_,NP_FRAME_COLOR, (uint)C'0,255,0',
//----------------------------------------------------------------------------------
 __, M_SEP,A, 
//----------------------------------------------------------------------------------
__,M_ITEM,"Custom Menu",   _,N_COLOR, (uint)C'240,240,255', _,P_COLOR, (uint)C'220,220,255',_,NP_FRAME_COLOR, (uint)C'120,120,255', 
//----------------------------------------------------------------------------------   
__, M_SEP,A,
//----------------------------------------------------------------------------------
Y_GAP,20, 
//----------------------------------------------------------------------------------
__, M_SEP,A, 
//----------------------------------------------------------------------------------
__, M_ITEM,"Sounds menu",
//----------------------------------------------------------------------------------
__, M_ITEM,"Color Picker",
//----------------------------------------------------------------------------------
__, M_ITEM,"Frames",
//----------------------------------------------------------------------------------
__, M_ITEM,"Fonts menu",
//----------------------------------------------------------------------------------
__, M_ITEM,"Icons", 
//----------------------------------------------------------------------------------
__, M_SEP,A, 
//----------------------------------------------------------------------------------
__, M_ITEM,"Save project and print the API file",C_FUNCTION, SAVE_PROJECT, 
//----------------------------------------------------------------------------------    
                  _,N_LABEL,"::Images\\16x16\\Save.bmp", 
//----------------------------------------------------------------------------------                  
                  _,N_COLOR, (uint)C'255,230,230', _,NP_FRAME_COLOR, (uint)C'255,70,70', 
//----------------------------------------------------------------------------------                  
                  _,P_COLOR, (uint)C'255,220,220', 
//----------------------------------------------------------------------------------
GAP,30,
//----------------------------------------------------------------------------------
__, M_SEP,A,
//----------------------------------------------------------------------------------
__, M_ITEM,"About the program",_,N_LABEL,"::Images\\16x16\\Help symbol.bmp",
//----------------------------------------------------------------------------------
END_GROUP,
//---------------------------------
i,AT, _X2X,"MF",3, _Y2Y,"MF",3,
//---------------------------------
i, TENURED, 
//----------------------------------------------------------------------------------
END_WINDOW, 
 

//-------------------------------------------------------------------- 
NEW_WINDOW,  
//-----------------------------
W_NAME, "Custom Menu",    
//-----------------------------
W_TYPE, MENU,   
//-----------------------------
WINDOW_GROUP, MAIN_CONTEXT_MENU,
//-----------------------------

//------------------------------------------------------------------- 
GROUP, "Menu items",
//-----------------------------
__, M_ITEM, "MY MENU", POINTED,0, 
                       //-----------------------------
                       _,FONT_SIZE, 9, 
                       _,TEXT_FONT,"Arial_Black", 
                       _,text, _A1_,_C2C, 
                       _,text, _C1_,-30, 
                       _,text, _A2_,_C2C,
                       _,text, _C2_,0, 
                       //-----------------------------
//-------------------------------------------------------------------------------
__, M_SEP,A, 
//-------------------------------------------------------------------------------
__, M_ITEM, "Bring window on top", TENURED,  _,PAR_TYPE,0, _,C_FUNCTION, 10000013,  _,N_LABEL,"::Images\\16x16\\Up.bmp", 
//-------------------------------------------------------------------------------
__, M_SEP,A, 
//-------------------------------------------------------------------------------
__, M_SEP,A, 
//-------------------------------------------------------------------------------
__, M_ITEM, "Show/Hide Taskbar", _,N_LABEL,"::Images\\16x16\\Toolbox.bmp", 
//-------------------------------------------------------------------------------

//-------------------------------------------------------------------------------
#include <(2) KIB PROJECTS\(1) Must be included\User section\My menu section.mqh> 
//-------------------------------------------------------------------------------
 END_GROUP,
 
//----------------------------------------------------------
//*DO NOT CHANGE GROUP POSITION-----------------------------
//----------------------------------------------------------
i, AT,_X2X,"MF",3, _Y2Y,"MF",3, 
//---------------------------------------------------------- 
END_WINDOW, 
//-------------------------------------------------------------------------------
 

//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Demo windows",    W_TYPE, MENU, 
//----------------------------------------------------------------------------------
 GROUP, "Menu items",
 //-----------------------------
 __, M_ITEM, "Settings windows",
//------------------------------ 
 __, M_ITEM, "Dialog windows",
 //-----------------------------
 END_GROUP,
//------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 


//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Settings windows",    W_TYPE, MENU, 
//----------------------------------------------------------------------------------
 GROUP, "Menu items",
 //-----------------------------
 __, M_ITEM, "Main Parameters", 
//----------------------------- 
 __, M_ITEM, "Account info:", 
//----------------------------- 
 __, M_ITEM, "Input parameters:",
//----------------------------- 
 __, M_ITEM, "Settings example 1",
//----------------------------- 
 __, M_ITEM, "Settings example 2", 
//-----------------------------
 END_GROUP,
//-----------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 


//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Dialog windows", W_TYPE, MENU, 
//----------------------------------------------------------------------------------
GROUP, A,
//-----------------------------
 __, M_ITEM, "Risky managment!", 
//-----------------------------
 __, M_ITEM, "Incorrect settings", 
//-----------------------------
 __, M_ITEM, "Winning 1000$",   
//-----------------------------
 __, M_ITEM, "Processing the data...",   
//-----------------------------
 __, M_ITEM, "Allow changes",   
//-----------------------------
 __, M_ITEM, "Sorry, this order is blocked.",  
//-----------------------------
 END_GROUP,
//-----------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 



//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/         W_TYPE, SETTINGS,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/     W_NAME, "Settings example 1",
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/  W_ICON, "::Images\\16x16\\Wrench.bmp",  
//------------------------------------------------------

//------------------------------------------------------
/*SET WINDOW'S ADDITIONAL PROPERTIES*/   
//----------------------------------------------------------------------------------
/*WINDOW OPENS AT START*/   //OPEN_ON_INIT,  /*(OOI)*/

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

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------------------------------
__,  BUTTON,"Start",                 PARAM_TYPE,   _BOOL,  _,A_TEXT, "Stop",   _,FIC,  GAP, 75,                                 
//----------------------------------------------------------------------------------------------------------
     CHECKBOX,"Set an option",       A_TEXT, "Option is set",                   BREAK_ROW_LINE,
//----------------------------------------------------------------------------------------------------------
GAP, 20,
//----------------------------------------------------------------------------------------------------------
__, CHECKBOX, "Set another option",              D_LIST, "D_LIST 1",  W,150,   BREAK_ROW_LINE,
//----------------------------------------------------------------------------------------------------------
GAP, 20,
//----------------------------------------------------------------------------------------------------------
__, CHECKBOX, "And another option",              C_LIST, "C_LIST 1",  W,150,   BREAK_ROW_LINE,
//----------------------------------------------------------------------------------------------------------
GAP, 50,
//---------------------------------------------------------------------------------------------------------- 
  
//----------------------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------------------------
__,  BOARD, "Spin the value ",   GAP, 100,  BOARD, "Roll the value ",
//----------------------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------------------------
__,  S_EDIT,"Spin the value",             V_STEP,1.7,
                                         //-------------------
                                         _,VALUE_TYPE, _DOUBLE,  
                                         //-------------------  
                                         _,READ_ONLY,
                                         //------------------- 
                                         _,DIGITS,3,                
//---------------------------------------------------------------------------------------------------------- 
     H_SLIDER,"Roll the value",          
                                         W,170,
                                         //-------------------
                                         _,V_CURRENT,  35, 
                                         //-------------------
                                         _,V_MIN,    0,  
                                         //-------------------
                                         _,V_MAX,    100,  
                                         //-------------------
                                         _,V_STEP,   1,   
                                         //-------------------
                                         _,SHOW_WIDGET, WIDGET_ON_TOP, 
                                         //-------------------
                                         BREAK_ROW_LINE,
                                         //-------------------
END_GROUP,
//----------------------------------------------------------------------------------------------------------
i, AT, _X2X, "MF", 20, _Y2Y, "MF", 30,
//---------------------------------------
i, X_GAP, 55,
i, Y_GAP, 10,
//---------------------------------------
SWITCH, "R_BUTTON 1",   "R_BUTTON 2", END,
//---------------------------------------
SWITCH, "_BUTTON 1",   "_BUTTON 2", 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,
//----------------------------------------------------------------------------------------------------------
__, CHECKBOX, "Don't show this dialog", GAP, 50, D_BUTTON, "Apply", N_FRAME_COLOR, (int)C'51,153,255', _,CWIP, GAP,7,  D_BUTTON, "Close", _,CWIP, BREAK_ROW_LINE,
//---------------------------------------------------------------------------------------------------------- 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 20, _Y2H, "Roll the value",  20,
//----------------------------------------------------------------------------------


//--------------------------------------------------------------------------------------------------+
GROUP,A,__, G_FRAME,"Group frame 1", ON_TOP,"Start",   R_SIDE, "Set an option",  B_SIDE,"C_LIST 1", END_GROUP,
//--------------------------------------------------------------------------------------------------+
//--------------------------------------------------------------------------------------------------+
GROUP,A,__, G_FRAME,"Group frame 2", ON_TOP,"Spin the value ",  R_SIDE, "Roll the value",  B_SIDE,"Roll the value",END_GROUP,
//--------------------------------------------------------------------------------------------------+
//------------------------------------------------------
//FINISH THE WINDOW BY KEYWORDS END_WINDOW,
//------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
 
Continuarei um pouco mais tarde.
 
Fiz upload de um gif, não tenho certeza se é um problema com minha operação. Estou apenas relatando o fato.