Galerie d'interfaces utilisateur écrites en MQL - page 50

 
hini #:
Comment les utilisateurs ajoutent-ils les images qu'ils recherchent et les utilisent-ils pour créer l'interface ? Telle est la question.

Les images d'interface (icônes ou autres images) se divisent grosso modo en deux catégories :

1. Les images internes.

Les images internes sont intégrées dans le concepteur. Par exemple, les images des boutons de défilement, les flèches des éléments de menu, les croix des boutons de fermeture des fenêtres et autres. Il s'agit d'images standard et elles sont écrites par des numéros dans le tableau. Les icônes de la fenêtre Label Menu également. Elles sont inscrites par des numéros dans un tableau spécial. Même en l'absence de ressources externes (dossiers contenant des images), ces images seront conservées et l'utilisateur pourra les utiliser de la même manière. Dans ce cas, l'adresse de l'icône est le nom par lequel le constructeur la trouve.


2. Externes.

Toutes les images externes doivent se trouver dans le dossier Images. Le constructeur les charge en tant que ressources et les enregistre dans le tableau commun d'images. L'algorithme accède ensuite à ces images en tant qu'images internes. Lorsque l'utilisateur enregistre le projet, l'algorithme sélectionne et écrit dans le fichier UIDATA uniquement les images dont l'interface utilisateur a besoin.


En fait, c'est simple.

1. L'utilisateur place l'image souhaitée dans le dossier Images.

2. Dans un fichier spécial, il écrit une ligne (par exemple) #resource "::Images/32x32\Index.bmp".

3. Puis, dans le code, il spécifie :

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


Terminé.


L'utilisateur utilise simplement la chaîne d'affectation d'image normale pour l'élément ou la fenêtre. Rien d'autre n'est nécessaire. Le constructeur lui-même détermine si l'image est externe ou interne. Si elle est externe, elle sera extraite de la ressource et placée dans un tableau avec les autres images.

 

Sortie le samedi (j'essaierai d'être en avance).

Les tâches assignées :

1. Contrôle logiciel des éléments et des fenêtres du côté de l'application utilisateur.

2. fournir les capacités de base pour travailler avec des tableaux 3. corriger les bugs avec les onglets et la barre des tâches

3. corriger des bugs avec les onglets et la barre des tâches. 4.

4. corriger des bogues mineurs.

 



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

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

//--------------------------
__, T_BOX,  "T1",TEXT,
                 "CONGRATULATIONS!",
                 "You made profit.", 
                 END,
//--------------------------                
__, T_BOX,  "T2",TEXT,
                 "Strategy name:", 
                 "Expert's name:",
                 END,
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF",   1, _Y2Y, "MF", 1,
//--------------------------------------
"T1",_A3_,0,
"T1", W, 355,
"T1", H, 42,
//--------------
"T1",text,_C1_, 55,
"T1",text,_C2_, 4,
//--------------
"T1",text,N_COLOR,(int)clrWhite,
"T1",FONT_SIZE, 10,
"T1",TEXT_FONT,"Arial Black",
//--------------
"T1",NG_LINES,75, 
"T1",NG_STEP, -1,
"T1",H_GRADIENT,
"T1",N_COLOR,(int)clrGold, 
//--------------
"T2",_A3_,0,
"T2", W, 344,
"T2", H, 42,
//--------------
"T2",text,_C1_,65,
"T2",text,_C2_,7,
//--------------

//-----------------------------------------------
GROUP, A,
//-----------------------------------------------
__, T_BOX,  "T3",TEXT,
                 "'My best strategy'", 
                 END,
//-----------------------------------------------   
 GAP,15,
//-----------------------------------------------             
__, T_BOX,  "T4",TEXT,
                 "Market explorer",
                 END,
//-----------------------------------------------                 
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF", 170, _Y2Y, "T2", 5,
//--------------------------------------
"T3",TEXT_STYLE,(int)FONT_ITALIC,
//--------------------------------------
"T4",TEXT_STYLE,(int)FW_BOLD,
//--------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//-----------------------------------------------
__, LABEL,A, ADAPT_2_GRADIENT,"T1", _,N_LABEL, "::Images\\32x32\\Properties.bmp",  
//-----------------------------------------------
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "T1", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//-----------------------------------------------
__, LABEL,A, N_COLOR,(int)clrWhite, _,N_LABEL,"::Images\\32x32\\Pin.bmp",  
//-----------------------------------------------
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF", 15, _Y2Y, "T2", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//-----------------------------------------------
__, LABEL,A,N_LABEL,"::Images\\32x32\\Chart xy.bmp", 
//-----------------------------------------------
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF", 300, _Y2Y, "T2", 2,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//-----------------------------------------------
__,CHECKBOX, "Show statistics report", TEXT_STYLE,(int)FONT_UNDERLINE,    
//-----------------------------------------------  
  GAP, 150,
//----------------------------------------------- 
   D_BUTTON, "Close", W,50,
                     //-----------------
                     _,CWIP,
                     //-----------------
                     _,N_FRAME_COLOR,(int)C'51,153,255', 
                     //-----------------
                     BREAK_ROW_LINE,
//-----------------------------------------------
END_GROUP,
//--------------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T2", 15,
//----------------------------------------------------------------------------------
END_WINDOW,
 


//----------------------------------------------------------------------------------
//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/               W_TYPE, SETTINGS,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/           W_NAME, "Account info:", 
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/        W_ICON, "::Images\\16x16\\Info.bmp",   
//------------------------------------------------------
/*PLACE THE NAME IN THE MIDDLE*/  NIM,
//------------------------------------------------------

//------------------------------------------------------
/*WINDOW OPENS AT START*/   OPEN_ON_INIT,  /*(OOI)*/

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

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

//----------------------------------------------------------------------------------
GROUP, A, IS_TABLE,
//----------------------------------------------------------------------------------
__,T_HEADER, "Parameter",  W,250, 
            
            _,FRAME_TYPE,_cda,           C_HEADER,"Value:",  W,140,                                      
//----------------------------------------------------------------------------------
__, R_HEADER,"Account name:",            CELL,"Account name", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Account number:",          CELL,"Account number", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Account server:",          CELL,"Account server",  
//----------------------------------------------------------------------------------
__, R_HEADER,"Account currency:",        CELL,"Account currency",
//----------------------------------------------------------------------------------
__, R_HEADER,"Leverage:",                CELL,"Leverage", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Account balance:",         CELL,"Account balance",
//----------------------------------------------------------------------------------
__, R_HEADER,"Account profit:",          CELL,"Account profit",
//----------------------------------------------------------------------------------
__, R_HEADER,"Account equity:",          CELL,"Account equity",
//----------------------------------------------------------------------------------
__, R_HEADER,"Account margin:",          CELL,"Account margin",
//----------------------------------------------------------------------------------
__, R_HEADER,"Account free margin:",     CELL,"Account free margin", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Account stop out level:",  CELL,"Account stop out level",
//----------------------------------------------------------------------------------
__, R_HEADER,"Stop out level:",          CELL,"Stop out level",
//----------------------------------------------------------------------------------
__, R_HEADER,"Spread in points:",        CELL,"Spread in points", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Minimum SL-TP level(in points):",                CELL,"Minimum SL-TP level(in points)",
//----------------------------------------------------------------------------------
__, R_HEADER,"Lot size:",                                      CELL,"Lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Tick size value deposit currency:",              CELL,"Tick size value deposit currency",
//---------------------------------------------------------------------------------- 
__, R_HEADER,"Tick the deposit currency:",                     CELL,"Tick the deposit currency",
//----------------------------------------------------------------------------------
__, R_HEADER,"Tick symbol currency:",                          CELL,"Tick symbol currency",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap for long positions, Buy:",                  CELL,"Swap for long positions, Buy",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap for long positions, Sell:",                 CELL,"Swap for long positions, Sell", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Trades for symbol EURUSD.m:",                    CELL,"Trades for symbol EURUSD.m",
//---------------------------------------------------------------------------------- 
__, R_HEADER,"Minimal lot size:",                              CELL,"Minimal lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Lot step:",                                      CELL,"Lot step",
//----------------------------------------------------------------------------------
__, R_HEADER,"Maximal lot size:",                              CELL,"Maximal lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap in points:",                                CELL,"Swap in points",
//----------------------------------------------------------------------------------
__, R_HEADER,"Profit mode:",                                   CELL,"Profit mode",
//----------------------------------------------------------------------------------
__, R_HEADER,"Margin mode:",                                   CELL,"Margin mode",
//----------------------------------------------------------------------------------
__, R_HEADER,"Initial margin requirments for one lot:",        CELL,"Initial margin requirments for one lot",
//----------------------------------------------------------------------------------
__, R_HEADER,"Margin to maintain position in one lot:",        CELL,"Margin to maintain position in one lot",
//----------------------------------------------------------------------------------  
__, R_HEADER,"Hedged margin for one lot:",                     CELL,"Hedged margin for one lot",
//----------------------------------------------------------------------------------
__, R_HEADER,"Free margin required:",                          CELL,"Free margin required",
//----------------------------------------------------------------------------------
__, R_HEADER,"Order freeze level in points:",                  CELL,"Order freeze level in points",
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
END_GROUP,
//----------------------
i,AT,LEFT_TOP,0,0,
//----------------------
i,IN, "V1",
//----------------------
 i,  R_HEADERS, 
     //-------------------------
     text,_A1_,X2X,
     //------------------------- 
     text,_C1_,10, 
     //-------------------------
     H,25, 
     //-------------------------
     N_FRAME,1, 
     //-------------------------
     FRAME_TYPE,_c,      
     //-------------------------
     FONT_SIZE,10,  
     //-------------------------
     
     END,
//----------------------------------------------------------------------------------
 i,    CELLS,
       //-------------------------
       text,_A1_,X2X, 
       //-------------------------
       text,_C1_,8, 
       //-------------------------
       text,_A1_,_Y2Y, 
       //-------------------------
       text,_A2_,_C2C,
       //-------------------------
       N_FRAME,1, 
       //-------------------------
       FRAME_TYPE,_cd, 
       //-------------------------
       V_CURRENT,"NULL", 
       //-------------------------  
       FONT_SIZE,10,  
       //-------------------------
       END,
//----------------------------------------------------------------------------------
 i, IS_ZEBRA_STYLE,
//----------------------------------------------------------------------------------
END_WINDOW,
 

Notez que le tableau ci-dessus est utilisé.

En principe, le tableau peut déjà être utilisé pour des fenêtres similaires. Il possède des capacités de base.

 

À titre de démonstration, j'inclurai dans ce tableau des cases à cocher, des listes déroulantes et... des curseurs. Voyons ce qui se passe ensuite.

 



//----------------------------------------------------------------------------------
//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/               W_TYPE, SETTINGS,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/           W_NAME, "Account info: 2", 
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/        W_ICON, "::Images\\16x16\\Info.bmp",   
//------------------------------------------------------
/*PLACE THE NAME IN THE MIDDLE*/  NIM,
//------------------------------------------------------

//------------------------------------------------------
/*WINDOW OPENS AT START*/   OPEN_ON_INIT,  /*(OOI)*/

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

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

//----------------------------------------------------------------------------------
GROUP, A, IS_TABLE,
//----------------------------------------------------------------------------------
__,T_HEADER, "Parameter",  W,250, 
            
            _,FRAME_TYPE,_cda,           C_HEADER,"Value:",  W,150,                                      
//----------------------------------------------------------------------------------
__, R_HEADER,"Strategy name:",            CELL,"Strategy name", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Allow overnight trades:",  CHECKBOX,"Allow overnight trades", ON,
//----------------------------------------------------------------------------------
__, R_HEADER,"Search for correlations:", CHECKBOX,"Search correlations",    ON,
//----------------------------------------------------------------------------------
__, R_HEADER,"Ask permissions:",         CHECKBOX,"Ask permissions",        ON,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
__, R_HEADER,"Change TP level (in points):", H_SLIDER,"Change TP level(in points)", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Change SL level (in points):", H_SLIDER,"Change SL level(in points)", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Change TS distance (in points):", H_SLIDER,"Change TS distance(in points)", 
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
__, R_HEADER,"Account properties:",           C_LIST,"Account properties",
//----------------------------------------------------------------------------------
__, R_HEADER,"Strategy properties:",          C_LIST,"Strategy properties",
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
__, R_HEADER,"Account stop out level:",  CELL,"Account stop out level",
//----------------------------------------------------------------------------------
__, R_HEADER,"Stop out level:",          CELL,"Stop out level",
//----------------------------------------------------------------------------------
__, R_HEADER,"Spread in points:",        CELL,"Spread in points", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Minimum SL-TP level(in points):", CELL,"Minimum SL-TP level(in points)",
//----------------------------------------------------------------------------------
__, R_HEADER,"Lot size:",                       CELL,"Lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Tick size value deposit currency:", CELL,"Tick size value deposit currency",
//---------------------------------------------------------------------------------- 
__, R_HEADER,"Tick the deposit currency:",                     CELL,"Tick the deposit currency",
//----------------------------------------------------------------------------------
__, R_HEADER,"Tick symbol currency:",                          CELL,"Tick symbol currency",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap for long positions, Buy:",                  CELL,"Swap for long positions, Buy",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap for long positions, Sell:",                 CELL,"Swap for long positions, Sell", 
//----------------------------------------------------------------------------------
__, R_HEADER,"Trades for symbol EURUSD.m:",                    CELL,"Trades for symbol EURUSD.m",
//---------------------------------------------------------------------------------- 
__, R_HEADER,"Minimal lot size:",                              CELL,"Minimal lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Lot step:",                                      CELL,"Lot step",
//----------------------------------------------------------------------------------
__, R_HEADER,"Maximal lot size:",                              CELL,"Maximal lot size",
//----------------------------------------------------------------------------------
__, R_HEADER,"Swap in points:",                                CELL,"Swap in points",
//----------------------------------------------------------------------------------
__, R_HEADER,"Profit mode:",                                   CELL,"Profit mode",
//----------------------------------------------------------------------------------
__, R_HEADER,"Margin mode:",                                   CELL,"Margin mode",
//----------------------------------------------------------------------------------
__, R_HEADER,"Initial margin requirments for one lot:",        CELL,"Initial margin requirments for one lot",
//----------------------------------------------------------------------------------
__, R_HEADER,"Margin to maintain position in one lot:",        CELL,"Margin to maintain position in one lot",
//----------------------------------------------------------------------------------  
__, R_HEADER,"Hedged margin for one lot:",                     CELL,"Hedged margin for one lot",
//----------------------------------------------------------------------------------
__, R_HEADER,"Free margin required:",                          CELL,"Free margin required",
//----------------------------------------------------------------------------------
__, R_HEADER,"Order freeze level in points:",                  CELL,"Order freeze level in points",
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
END_GROUP,
//----------------------
i,AT,LEFT_TOP,0,0,
//----------------------
i,IN, "V1",
//----------------------
 i,  R_HEADERS, 
     //-------------------------
     text,_A1_,X2X,
     //------------------------- 
     text,_C1_,10, 
     //-------------------------
     H,25, 
     //-------------------------
     N_FRAME,1, 
     //-------------------------
     FRAME_TYPE,_c,      
     //-------------------------
     FONT_SIZE,10,  
     //-------------------------
     
     END,
//----------------------------------------------------------------------------------
 i,    CELLS,
       //-------------------------
       text,_A1_,X2X, 
       //-------------------------
       text,_C1_,8, 
       //-------------------------
       text,_A1_,_Y2Y, 
       //-------------------------
       text,_A2_,_C2C,
       //-------------------------
       N_FRAME,1, 
       //-------------------------
       FRAME_TYPE,_cd, 
       //-------------------------
       V_CURRENT,"NULL", 
       //-------------------------  
       FONT_SIZE,10,  
       //-------------------------
       END,
//----------------------------------------------------------------------------------       
 i, H_SLIDERS,
    //---------------------------------
    N_FRAME,1,
    //---------------------------------
    A_FRAME,1, 
    //---------------------------------
    FRAME_TYPE,_cd,   
    //---------------------------------
    POINTED,0, 
    //---------------------------------
    ALL_STATES_SAME_COLOR, 
    //---------------------------------
    SHOW_WIDGET, 
    //---------------------------------
    WIDGET_ON_TOP,
    //---------------------------------
    V_MIN,1, V_MAX,100, V_CURRENT,50,
    //---------------------------------
    END,       
//----------------------------------------------------------------------------------
 i, CHECKBOXES,
    //---------------------------------
    N_FRAME,1,
    //---------------------------------
    A_FRAME,1, 
    //---------------------------------
    FRAME_TYPE,_cd,   
    //---------------------------------
    POINTED,0, 
    //---------------------------------
    ALL_STATES_SAME_COLOR, 
    //---------------------------------
    END,       
//----------------------------------------------------------------------------------
 i, C_LISTS,
    //---------------------------------
    H, 150,
    //---------------------------------
    N_FRAME,1,
    //---------------------------------
    A_FRAME,1, 
    //---------------------------------
    FRAME_TYPE,_cd,   
    //---------------------------------
    POINTED,0, 
    //---------------------------------
    ALL_STATES_SAME_COLOR, 
    //---------------------------------
    END,       
//----------------------------------------------------------------------------------
 i, IS_ZEBRA_STYLE,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
//------------------------------------------------------ 
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,"Account properties",
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
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, "Strategy properties",
//------------------------------------------------------ 
i, AT, LEFT_TOP, 1,1,
//------------------------------------------------------ 
//----------------------------------------------------------------------------------
END_WINDOW,
 
Il s'agit d'une variante d'intégration des contrôles dans un tableau. Elle est originale et peut être pratique.
 

Tout le monde est probablement familier avec cette fenêtre de paramétrage :

Je l'ai déjà montrée et elle est incluse dans la dernière version. Elle se trouve dans le fichier du projet de démonstration à l'adresse :

#include<(2)  KIB PROJECTS\(6) DEMO PROJECTS\Demo project 1.mqh>


Voici l'histoire : il y a tout juste 20 minutes, je me suis posé une question - que se passe-t-il si vous changez la plateforme de cette fenêtre de SETTINGS à MENU ? J'ai donc décidé de faire une petite expérience.

Je suis allé dans le fichier et j'ai effectué la substitution :

//----------------------------------------------------------------------------------
//DECLARE A NEW WINDOW
//----------------------------------------------------------------------------------
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/               W_TYPE, MENU,//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*/
//----------------------------------------------------------------------------------


Rien d'autre.

Et voici le résultat intéressant :

1. Lorsque j'ai essayé d'ouvrir une fenêtre par le menu, cela s'est produit (cliquez, c'est un .gif) :


2. en essayant d'ouvrir une fenêtre à l'aide du bouton de la barre des tâches, voici ce qui s'est passé (cliquez, c'est un .gif ) :


Nous pouvons donc conclure que le remplacement de la plate-forme de la fenêtre modifie automatiquement le comportement et l'apparence de cette fenêtre. En tant que fenêtre de menu, elle a commencé à s'ouvrir d'elle-même à partir d'une autre fenêtre de menu simplement en pointant l'élément qui l'appelait en cliquant (c'est ainsi que se comporte une fenêtre de menu normale). De plus, lorsque vous cliquez sur le bouton qui doit l'appeler, la fenêtre s'ouvre à proximité immédiate de ce bouton, et non au centre du graphique comme les autres fenêtres de paramétrage (c'est ainsi qu'une fenêtre de menu normale s'ouvre à l'aide d'un bouton).

Le résultat est intéressant : il suffit de changer UN mot dans le code pour obtenir un aspect et un comportement complètement différents de la fenêtre de paramétrage. Est-ce pratique ? Jugez-en par vous-même.


P.S. C'est ce que l'on voit sur l'image :


 

Puis-je vous demander quel logiciel vous avez utilisé pour créer les gifs ? Pourquoi faut-il cliquer pour voir l'image bouger ?