MQL ile yazılmış kullanıcı arayüzleri galerisi - sayfa 50

 
hini #:
Kullanıcılar aradıkları görselleri nasıl ekler ve arayüz oluşturmak için nasıl kullanır? İşte asıl soru bu.

Arayüz resimleri (ikonlar veya diğer resimler) kabaca iki kategoriye ayrılır:

1. Dahili.

Dahili resimler tasarımcıya entegre edilmiştir. Örneğin, kaydırma düğmelerindeki resimler, menü öğelerinin okları, pencere kapatma düğmelerinin çarpıları ve diğerleri. Bunlar standart resimlerdir ve dizide sayılarla yazılırlar. Etiket Menüsü penceresindeki simgeler de. Özel bir dizide sayılarla yazılırlar. Harici kaynaklar (resim içeren klasörler) olmasa bile bu resimler kalır ve kullanıcı bunları aynı şekilde kullanabilir. Bu durumda simgenin adresi, kurucunun onu bulduğu isimdir.


2. Harici.

Tüm harici resimler Images klasöründe bulunmalıdır. Yapıcı bunları kaynak olarak yükler ve ortak görüntü dizisine kaydeder. Algoritma daha sonra bu görüntülere kendi dahili görüntüleri olarak erişir. Kullanıcı projeyi kaydettiğinde, algoritma yalnızca kullanıcı arayüzünün ihtiyaç duyduğu resimleri seçer ve UIDATA dosyasına yazar.


Temel olarak basittir.

1. Kullanıcı istediği resmi Görüntüler klasörüne koyar.

2. Özel bir dosyaya bir satır yazar (örneğin) #resource "::Images\\/32x32\Index.bmp".

3. Daha sonra kodda belirtir:

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


Bitti.


Kullanıcı basitçe eleman veya pencere için normal resim atama dizesini kullanır. Başka hiçbir şeye gerek yoktur. Yapıcının kendisi resmin harici mi yoksa dahili mi olduğunu belirleyecektir. Harici ise, onu kaynaktan alır ve diğer resimlerle birlikte bir diziye yerleştirir.

 

Cumartesi günü yayınlanacak (erken gelmeye çalışacağım).

Verilen görevler:

1. Kullanıcı uygulaması tarafından öğelerin ve pencerelerin yazılım kontrolü.

2. Tablolarla çalışmanın temel yeteneklerini sağlayın.

3. Sekmeler ve görev çubuğu ile ilgili hataların düzeltilmesi.

4. Küçük hataları düzeltin.

 



//------------------------------------------------------ 
//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,
 

Yukarıdaki tablonun kullanıldığına dikkat edin.

Prensip olarak, tablo benzer pencereler için zaten kullanılabilir. Temel yeteneklere sahiptir.

 

Bir gösteri olarak, bu tabloya onay kutularını, açılır listeleri ve... kaydırıcılar ekleyeceğim. Bakalım bundan sonra ne olacak.

 



//----------------------------------------------------------------------------------
//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,
 
Bu, kontrolleri bir tabloya entegre etmenin böyle bir çeşididir. Orijinaldir ve kullanışlı olabilir.
 

Muhtemelen herkes bu ayarlar penceresine aşinadır:

Daha önce göstermiştim ve en son sürümde de yer alıyor. Adresindeki demo proje dosyasında yer almaktadır:

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


İşte hikaye: sadece 20 dakika önce bir sorum vardı - bu pencerenin platformunu AYARLAR'dan MENÜ'ye değiştirirseniz ne olur? Bu yüzden küçük bir deney yapmaya karar verdim.

Dosyaya girdim ve değişikliği yaptım:

//----------------------------------------------------------------------------------
//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*/
//----------------------------------------------------------------------------------


Başka bir şey yok.

Ve işte ilginç sonuç:

1. Menüden bir pencere açmaya çalışırken bu oldu (tıklayın, bu bir .gif):


2. Ve görev çubuğundaki düğme ile bir pencere açmaya çalışırken, bu (tıklayın, bu bir.gif ) oldu:


Sonuç olarak, pencere platformunu değiştirmenin otomatik olarak bu pencerenin davranışını ve görünümünü değiştirdiği sonucuna varabiliriz. Bir menü penceresi olarak, sadece tıklandığında kendisini çağıran öğeye işaret ederek başka bir menü penceresinden kendisini açmaya başladı (normal bir menü penceresi bu şekilde davranır). Ayrıca, onu çağırması gereken düğmeye tıkladığınızda, pencere diğer ayar pencereleri gibi grafiğin ortasında değil, bu düğmenin doğrudan yakınında açılır (normal bir menü penceresi bir düğmeyle bu şekilde açılır).

Sonuç ilginçtir: kodda sadece BİR kelimeyi değiştirdiğinizde ayarlar penceresinin tamamen farklı bir görünüm ve davranışını elde edersiniz. Kullanışlı mı? Kendiniz karar verin.


Not: Resimde bu şekilde görünüyor:


 

Gifleri yapmak için hangi yazılımı kullandığınızı sorabilir miyim? Resmin hareket ettiğini görmek için neden tıklamanız gerekiyor?