Gallery of UIs written in MQL - page 38

 
Реter Konow #:
Did my answer help?

1. If the buttons are placed in the frame with the command i, AT, LEFT_TOP - everything is fine.

If you place them in the right end of the taskbar with i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0, - the icon is duplicated in the left end of the bar:

And when hovering over the button, its frame is also drawn at the left end, closing the tabs, and the name of the button is messed up:

Bug or my FAIL - I don't understand.

2. There is a dead zone at the right end of the taskbar. On the screenshot it is noticeable by an artefact. All the dimensions set seem to be correct. But I must be wrong somewhere in the code.

3. When switching tabs, the "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END commands are not enough. Frames are switched back on, but the tables contained in them are not. I have to explicitly list "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END

NEW_WINDOW,
W_NAME, "CryptoPanel",
W_TYPE, SETTINGS,
OPEN_ON_INIT,
ALWAYS_ON_TOP,


//===================================================================================================================
GROUP, "Taskbar", 
        __,  V_BOX, "TaskbarPanel", IS_H_TAB_BOX, _, N_FRAME, 1, _, N_COLOR, (int)C'245,245,245', _, W, 1597, _, H, 35, _, FRAME_TYPE, _da, 
END_GROUP,
//---------------------------------------------
i, AT, _X2X, "MF", -18, _Y2Y, "MF", 0, 
 

//===================================================================================================================
GROUP, "TaskbarControls", 
        __, I_BUTTON, "Refresh", W, 100, _, H, 25, _, N_LABEL, "::Images\\16x16\\Refresh.bmp", _, SHOW_NAMETIP, 
END_GROUP,
//---------------------
i, IN, "TaskbarPanel",
i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0, 
i, X_GAP, 20, 
i, I_BUTTONS, text, _A1_, _X2X, text, _C1_, 30, label, _A1_, _X2X, label, _C1_, 5, END,
//===================================================================================================================


//===================================================================================================================
GROUP,"TaskbarTabs", 
        __, H_TAB, "Report", ON, H_TAB, "Options", 
END_GROUP,
//+------------------------------------------------------------------+
i, IN, "TaskbarPanel",
i, AT, LEFT_TOP, 0, 0, 
i, SWITCH, "Report", "Options", END,
i, TENURED,
i, H_TABS, 
        N_COLOR, (int)C'240,240,240', P_COLOR, (int)C'236,244,252', A_COLOR, (int)C'255,255,255', AP_COLOR, (int)C'205,245,255', AH_COLOR, (int)C'255,255,255', 
        NPG_LINES, 20, NPG_STEP, 1, NG_LINES, 20, NG_STEP, 1, 
        FRAME_TYPE, _dab,
END, 
"Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END, 
"Options", IS_APPEARANCE_CONTROLLER, "OptionsFrames", END, 
//=========================================================================================================================================


//===================================================================================================================
GROUP, "TabsFrame",
        __, V_BOX, "Tab", W, 1597, _, H, 610, _, N_FRAME, 1, _, A_FRAME, 1, _, NP_FRAME, 1, AP_FRAME, 1, 
END_GROUP,
//----------------------------
i, AT, _X2X, "MF", 0, _Y2H, "Report", -1, 
//===================================================================================================================


//===================================================================================================================
GROUP, "ReportFrames",
        __, V_BOX, "BalancesFrame", _, W, 1593, _, H, 85, 
        __, V_BOX, "LogFrame", _, W, 1593, _, H, 520, 
END_GROUP,
//-----------------------------
i, IN, "Tab",
i, AT, LEFT_TOP, 0, 0,
//===================================================================================================================


//===================================================================================================================
GROUP, "Balances", IS_TABLE, 
        __, T_HEADER, "Exchange", W, 100, C_HEADER, "$", W, 80, C_HEADER, "MX", W, 135, C_HEADER, "USDT", W, 115, C_HEADER, "USDC", W, 80, C_HEADER, "IRON", W, 105, 
        __, R_HEADER, "MEXC", CELL, A, V_CURRENT, 5625.59, CELL, A, V_CURRENT, 1198.10337776, CELL, A, V_CURRENT, 281.0668527, CELL, A, V_CURRENT, 12.6819, CELL, A, V_CURRENT, 2.79368472, 
        __, R_HEADER, "Bybit", CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 0, 
        __, R_HEADER, "Binance", CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 0, 
END_GROUP,
//-----------------------------
i, IN, "BalancesFrame",
i, AT, LEFT_TOP, 0, 0,
i, T_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
        END,
i, C_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
        END,
i, R_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
END,
i, CELLS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        N_FRAME_COLOR, (int)C'177,194,214', 
        text, _A1_, _X2X, 
        text, _C1_, 10, 
END,
//===================================================================================================================


//===================================================================================================================
GROUP, "Log", IS_TABLE, 
        __, C_HEADER, "Time", W, 170, C_HEADER, "Exch", W, 75, C_HEADER, "Op", W, 55, C_HEADER, "Message", W, 455, 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
        __, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
END_GROUP,
//-----------------------------
i, IN, "LogFrame",
i, AT, LEFT_TOP, 0, 0, 
i, C_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
END,
i, CELLS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        N_FRAME_COLOR, (int)C'177,194,214', 
        text, _A1_, _X2X, 
        text, _C1_, 10, 
END,
//===================================================================================================================


//===================================================================================================================
GROUP, "OptionsFrames",
END_GROUP,
//-----------------------------
i, IN, "Tab",
i, AT, LEFT_TOP, 0, 0,
//===================================================================================================================




END_WINDOW,
Retag Konow #:
Getting a little ahead of ourselves.

Only because of suspected bugs.

 
Реter Konow #:
Technically, you can make other options for text and icon placement within elements, but practically they don't make sense. If the need arises, we can consider them.

In the current concept, if you want to place an icon and text next to each other, you have to manually select offsets. For each button, as they all have different text lengths. This is inconvenient. To simplify it, we'll have to align to the left edge.

I would like to automatically centre the icon-text chain, optionally selecting the distance between them. For buttons of the same width, with different text lengths, this is the best option.

But of course, this is not the highest priority.

 
Edgar Akhmadeev #:

1. If buttons are placed in the frame with the command i, AT, LEFT_TOP - everything is fine.

If you place in the right end of the taskbar i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0 - the icon is duplicated in the left end of the bar:

And when you hover over a button, its frame is also drawn at the left end, closing the tabs, and the name of the button is spoilt:

Bug or my FAIL - I don't understand.

2. There is a dead zone at the right end of the taskbar. On the screenshot it is noticeable by an artefact. All the dimensions are set correctly. But I must be wrong somewhere in the code.

3. When switching tabs, the "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END commands are not enough. Frames are switched back on, but the tables contained in them are not. I have to explicitly list "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END

Only because of suspicion of bugs.

I suggest this code:

//----------------------------------------------------------------------------------
NEW_WINDOW,
//-----------------------
 W_NAME, "CryptoPanel",
//-----------------------
 W_TYPE, SETTINGS,
//-----------------------
 OPEN_ON_INIT,
//-----------------------
 ALWAYS_ON_TOP,
//-----------------------

//====================================================================================
//ГРУППЫ ВКЛАДОК ДОЛЖНЫ ОБЪЯВЛЯТЬСЯ НАД ЭЛЕМЕНТАМИ ЯВЛЕНИЕМ КОТОРЫХ УПРАВЛЯЮТ!
//+------------------------------------------------------------------+
GROUP,"TaskbarTabs", 

__, H_TAB, "Report",  ON, _,N_LABEL, "::Images\\16x16\\Briefcase.bmp",  

    H_TAB, "Options",     _,N_LABEL,  "::Images\\16x16\\Application.bmp",  
        
END_GROUP,
//+------------------------------------------------------------------+
//i, IN, "TaskbarPanel", ОШИБКА!!! ВКЛАДКИ НЕ МОГУТ НАХОДИТСЯ ВНУТРИ КАНВАСА КОТОРЫЙ ОБЪЯВЛЕН НИЖЕ ЧЕМ ОНИ САМИ.

//ВАРИАНТ ПОЗИЦИОНИРОВАНИЯ i, AT, LEFT_TOP, 0, 0, ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ ГРУПП ВНУТРИ КАНВАСОВ, КАК V_BOX. ВКЛАДКИ СТОЯТ НА MF.
//РАЗМЕРЫ МF РАССЧИТЫВАЮТСЯ В ПРОЦЕССЕ ПОСТРОЕНИЯ ОКНА. 
//НЕЛЬЗЯ ПРИВЯЗАТЬ ЭЛЕМЕНТЫ К ПРАВОМУ КРАЮ, ТАК КАК ПРАВЫЙ КРАЙ ОКНА ЗАВИСИТ ОТ РАЗМЕРОВ И РАСПОЛОЖЕНИЯ ЭЛЕМЕНТОВ ВНУТРИ НЕГО.
//+------------------------------------------------------------------+
i, AT, _X2X, "MF", 5, _Y2Y, "MF", 10,
//+------------------------------------------------------------------+
i, SWITCH, "Report", "Options", END,
//+------------------------------------------------------------------+

i, H_TABS, 
        N_COLOR, (int)C'240,240,240', P_COLOR, (int)C'236,244,252', A_COLOR, (int)C'255,255,255', AP_COLOR, (int)C'205,245,255', AH_COLOR, (int)C'255,255,255', 
        NPG_LINES, 20, NPG_STEP, 1, NG_LINES, 20, NG_STEP, 1, 
        FRAME_TYPE, _dab, 
        
        W, 80,  H,  25,//Задайте размер вкладок вручную.
END, 
//+------------------------------------------------------------------+
//ПЕРЕЧИСЛИТЕ ЯВЛЯЕМЫЕ ГРУППЫ ДЛЯ КАЖДОЙ ВКЛАДКИ:
//+------------------------------------------------------------------+
 "Report",  IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log","TaskbarControls",  END, 
//+------------------------------------------------------------------+
 "Options", IS_APPEARANCE_CONTROLLER, "OptionsFrames",  END, 
//+------------------------------------------------------------------+
//
//+------------------------------------------------------------------+
//ОБЪЯВЛЯЙТЕ ОДИН (!!!) V_BOX ДЛЯ КАЖДОЙ ГРУППЫ ВКЛАДОК.
//===================================================================================================================
GROUP, A,

__, V_BOX,"Canvas for TaskbarTabs", W, 1593, _, H, 605, 
        
END_GROUP,
//--------------------------------------
//РАСПОЛОЖИТЕ КАНВАС V_BOX ПРЯМО ПОД ВКЛАДКАМИ:
//--------------------------------------
i, AT, _X2X, "MF", 5, _Y2H, "Report", -2, 
//===================================================================================================================

GROUP, "TaskbarControls", 

__, I_BUTTON, "Refresh", W, 100, _, H, 25, _, N_LABEL, "::Images\\16x16\\Refresh.bmp",  
                                              //---------------------     
                                              _,R2R,    "Canvas for TaskbarTabs",  0, 
                                              _,ON_TOP, "Canvas for TaskbarTabs", -2,
                                              //---------------------
END_GROUP,
//---------------------
i, I_BUTTONS, text, _A1_, _X2X, text, _C1_, 30, label, _A1_, _X2X, label, _C1_, 5, SHOW_NAMETIP, END,
//===================================================================================================================

GROUP, "Balances", IS_TABLE, 

__, T_HEADER, "Exchange", W, 100, C_HEADER, "$", W, 80, C_HEADER, "MX", W, 135, C_HEADER, "USDT", W, 115, C_HEADER, "USDC", W, 80, C_HEADER, "IRON", W, 105, 

__, R_HEADER, "MEXC",    CELL, A, V_CURRENT, 5625.59, CELL, A, V_CURRENT, 1198.10337776, CELL, A, V_CURRENT, 281.0668527, CELL, A, V_CURRENT, 12.6819, CELL, A, V_CURRENT, 2.79368472, 
__, R_HEADER, "Bybit",   CELL, A, V_CURRENT, 123.45,  CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 0, 
__, R_HEADER, "Binance", CELL, A, V_CURRENT, 123.45,  CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 123.45, CELL, A, V_CURRENT, 0, CELL, A, V_CURRENT, 0, 

END_GROUP,
//-----------------------------
i, IN, "Canvas for TaskbarTabs",
//-----------------------------
i, AT, LEFT_TOP, 5, 10,
//-----------------------------
i, T_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
        END,
//-----------------------------        
i, C_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
        END,
//-----------------------------        
i, R_HEADERS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
END,
//-----------------------------
i, CELLS, 
        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        N_FRAME_COLOR, (int)C'177,194,214', 
        text, _A1_, _X2X, 
        text, _C1_, 10, 
END,
//-----------------------------

//===================================================================================================================
GROUP, "Log", IS_TABLE, 

__, T_HEADER,"TH1",      C_HEADER, "Time", W, 170, C_HEADER, "Exch", W, 75, C_HEADER, "Op", W, 55, C_HEADER, "Message", W, 455, 

__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 
__, R_HEADER,A, CELL, A, V_CURRENT, "2024.07.01 16:00:06", CELL, A, V_CURRENT, "Binance", CELL, A, V_CURRENT, "Conv", CELL, A, V_CURRENT, "BABYTRAMPTOKEN @0.0516400000 USDT >> 0.09968574 MX", 

END_GROUP,
//-----------------------------
i, IN, "Canvas for TaskbarTabs",
//-----------------------------
"TH1", L2L,       "Binance",  0,

"TH1", ON_BOTTOM, "Binance",  10,                                            
//-----------------------------
i, T_HEADERS, text, IS_HIDDEN, W, 1, END,   
//-----------------------------
i, R_HEADERS, text, IS_HIDDEN, W, 1, END,
//-----------------------------
i, C_HEADERS, 

        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        TEXT_STYLE, (int)FW_BOLD, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
END,
//-----------------------------

i, CELLS, 

        TEXT_FONT, "Calibri", 
        FONT_SIZE, 10, 
        N_FRAME_COLOR, (int)C'177,194,214', 
        text, _A1_, _X2X, 
        text, _C1_, 10, 
END,
//-----------------------------

//===================================================================================================================
GROUP, "OptionsFrames",


END_GROUP,
//-----------------------------
i, IN, "Canvas for TaskbarTabs",
i, AT, LEFT_TOP, 0, 0,
//===================================================================================================================


Result:


 

In tables displaying values, R_HEADER and T_HEADER elements must be declared, because naming and connecting cells is done by specifying R_HEADER and C_HEADER and combining them. This is how the "address" of a cell in the table appears. T_HEADER is necessary for setting many table properties.

If they interfere with the appearance, they can be hidden as I did above.

 
Edgar Akhmadeev #:

1. If buttons are placed in the frame with the command i, AT, LEFT_TOP - everything is fine.

If you place in the right end of the taskbar i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0 - the icon is duplicated in the left end of the bar:

And when you hover over a button, its frame is also drawn at the left end, closing the tabs, and the name of the button is spoilt:

Bug or my FAIL - I don't understand.

2. There is a dead zone at the right end of the taskbar. On the screenshot it is noticeable by an artefact. All the dimensions are set correctly. But I must be wrong somewhere in the code.

3. When switching tabs, the "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END commands are not enough. Frames are switched back on, but the tables contained in them are not. I have to explicitly list "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END

Only because of suspicion of bugs.

1. There is a different positioning system inside canvases. I will prepare detailed material on this topic. Also you can't use snapping to the right edge of the window, because the size of the window depends on the size of the content.

2. There can be only one V_BOX element per tab group, and its group must be declared LOWER than the tab group.

3. Currently, tab sizes are set manually by explicitly specifying them. Icons are set as usual.

4. For the sake of saving resources when redrawing the canvas, I removed the Refresh button to the top, otherwise the canvas becomes VERY long, and redrawing is much more resource-consuming. Also the button can be placed somewhere near the tables.

 
I think we should stop for now, we're getting too far ahead of ourselves. And we need to work on the update.))
 
Edgar Akhmadeev #:

In the current concept, if you want to place an icon and text next to each other, you have to manually adjust the offsets. For each button, because they all have different text lengths. This is inconvenient. To simplify it, we will have to align to the left edge.

I would like to automatically centre the icon-text chain, optionally selecting the distance between them. For buttons of the same width with different text lengths this is the best option.

But of course, this is not the highest priority.

This is realised in checkboxes and radio buttons.

The point of the solution serves to expand the decorative possibilities. Since the appearance of buttons and tabs often leaves room for fantasy, I decided not to make a rigid binding of text and icons. Yesterday I passed a template suitable for ALL elements with texts and icons. Just copy and change the amendments if you need to.
 
We plan to create a "template-base" which will include "colouring" of elements, window structures, groups (tabs for example) and various table variants. The user will choose a picture and copy the code, make changes and it's done. Very convenient. And fast.
 
I'm also going to unify the positioning systems. As it happens, there are too many of them and they work differently. I'll simplify it to the max.
 
Thanks for the corrections. I'm going to look into it.