Galerie der in MQL geschriebenen UIs - Seite 38

 
Реter Konow #:
War meine Antwort hilfreich?

1. Wenn die Schaltflächen mit dem Befehl i, AT, LEFT_TOP im Rahmen platziert werden, ist alles in Ordnung.

Wenn Sie sie am rechten Ende der Taskleiste mit i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0, - platzieren, wird das Symbol am linken Ende der Leiste dupliziert:

Und wenn man mit dem Mauszeiger über die Schaltfläche fährt, wird ihr Rahmen auch am linken Ende gezeichnet, wodurch die Registerkarten geschlossen werden, und der Name der Schaltfläche wird durcheinander gebracht:

Fehler oder mein FAIL - ich verstehe es nicht.

2. Es gibt eine tote Zone am rechten Ende der Taskleiste. Auf dem Screenshot ist er durch ein Artefakt erkennbar. Alle eingestellten Dimensionen scheinen korrekt zu sein. Aber ich muss irgendwo im Code falsch sein.

3. Beim Umschalten von Tabs reichen die Befehle "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END nicht aus. Frames werden zwar wieder eingeschaltet, aber die darin enthaltenen Tabellen nicht. Ich muss explizit "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END auflisten.

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,

R etag Konow #: Wir greifen ein wenig vor.

Nur wegen vermuteter Bugs.

 
Реter Konow #:
Technisch gesehen können Sie andere Optionen für die Platzierung von Text und Symbolen innerhalb von Elementen wählen, aber praktisch gesehen machen sie keinen Sinn. Wenn der Bedarf entsteht, können wir sie in Betracht ziehen.

Im aktuellen Konzept müssen Sie, wenn Sie ein Symbol und einen Text nebeneinander platzieren möchten, manuell Versätze auswählen. Für jede Schaltfläche, da sie alle unterschiedliche Textlängen haben. Das ist unpraktisch. Um es zu vereinfachen, müssen wir uns am linken Rand ausrichten.

Ich möchte die Icon-Text-Kette automatisch zentrieren, wobei der Abstand zwischen ihnen optional gewählt werden kann. Für gleich breite Schaltflächen mit unterschiedlichen Textlängen ist dies die beste Option.

Aber das ist natürlich nicht die höchste Priorität.

 
Edgar Akhmadeev #:

1. Wenn die Schaltflächen mit dem Befehl i, AT, LEFT_TOP im Rahmen platziert werden, ist alles in Ordnung.

Wenn Sie am rechten Ende der Taskleiste i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0 platzieren - wird das Symbol am linken Ende der Leiste dupliziert:

Wenn Sie mit dem Mauszeiger über eine Schaltfläche fahren, wird ihr Rahmen ebenfalls am linken Ende gezeichnet, die Registerkarten werden geschlossen und der Name der Schaltfläche wird verwischt:

Bug oder mein FAIL - ich verstehe es nicht.

2. Es gibt eine tote Zone am rechten Ende der Taskleiste. Auf dem Screenshot ist er durch ein Artefakt erkennbar. Alle Dimensionen sind korrekt eingestellt. Aber ich muss irgendwo im Code falsch sein.

3. Beim Umschalten der Tabs reichen die Befehle "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END nicht aus. Frames werden zwar wieder eingeschaltet, aber die darin enthaltenen Tabellen nicht. Ich muss explizit "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END auflisten.

Nur wegen des Verdachts auf Bugs.

Ich schlage diesen Code vor:

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


Ergebnis:


 

In Tabellen, die Werte anzeigen, müssen die Elemente R_HEADER und T_HEADER deklariert werden, da die Benennung und Verbindung von Zellen durch die Angabe von R_HEADER und C_HEADER und deren Kombination erfolgt. So erscheint die "Adresse" einer Zelle in der Tabelle. T_HEADER ist für die Einstellung vieler Tabelleneigenschaften erforderlich.

Wenn sie das Erscheinungsbild stören, können sie ausgeblendet werden, wie ich es oben getan habe.

 
Edgar Akhmadeev #:

1. Wenn die Schaltflächen mit dem Befehl i, AT, LEFT_TOP im Rahmen platziert werden, ist alles in Ordnung.

Wenn Sie am rechten Ende der Taskleiste i, AT, _W2W, "MF", -40, _Y2Y, "MF", 0 platzieren - wird das Symbol am linken Ende der Leiste dupliziert:

Und wenn man mit dem Mauszeiger über eine Schaltfläche fährt, wird ihr Rahmen auch am linken Ende gezeichnet, die Registerkarten werden geschlossen und der Name der Schaltfläche wird verwischt:

Bug oder mein FAIL - ich verstehe es nicht.

2. Es gibt eine tote Zone am rechten Ende der Taskleiste. Auf dem Screenshot ist sie durch ein Artefakt erkennbar. Alle Dimensionen sind korrekt eingestellt. Aber ich muss irgendwo im Code falsch sein.

3. Beim Umschalten der Tabs reichen die Befehle "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", END nicht aus. Frames werden zwar wieder eingeschaltet, aber die darin enthaltenen Tabellen nicht. Ich muss explizit "Report", IS_APPEARANCE_CONTROLLER, "ReportFrames", "Balances", "Log", END auflisten.

Nur wegen des Verdachts auf Bugs.

1. Es gibt ein anderes Positionierungssystem innerhalb von Leinwänden. Ich werde ausführliches Material zu diesem Thema vorbereiten. Außerdem kann man nicht am rechten Rand des Fensters einrasten, weil die Größe des Fensters von der Größe des Inhalts abhängt.

2. Es kann nur ein V_BOX-Element pro Registerkartengruppe geben, und seine Gruppe muss NIEDRIGER als die Registerkartengruppe deklariert werden.

3) Derzeit werden die Größen der Registerkarten manuell festgelegt, indem sie explizit angegeben werden. Die Icons werden wie üblich gesetzt.

4. Um beim Neuzeichnen des Canvas Ressourcen zu sparen, habe ich den Refresh-Button nach oben entfernt, da sonst der Canvas SEHR lang wird und das Neuzeichnen viel mehr Ressourcen verbraucht. Auch die Schaltfläche kann irgendwo in der Nähe der Tabellen platziert werden.

 
Ich denke, wir sollten vorerst aufhören, wir sind zu weit vorangeschritten. Und wir müssen an dem Update arbeiten.))
 
Edgar Akhmadeev #:

Im aktuellen Konzept müssen Sie, wenn Sie ein Symbol und einen Text nebeneinander platzieren wollen, die Abstände manuell anpassen. Für jede Schaltfläche, da sie alle unterschiedliche Textlängen haben. Das ist unpraktisch. Um es zu vereinfachen, werden wir uns am linken Rand ausrichten müssen.

Ich möchte die Icon-Text-Kette automatisch zentrieren, wobei der Abstand zwischen ihnen optional gewählt werden kann. Für gleich breite Schaltflächen mit unterschiedlichen Textlängen ist dies die beste Option.

Aber das hat natürlich nicht die höchste Priorität.

Dies wird bei Checkboxen und Radiobuttons realisiert.

Sinn der Lösung ist es, die Gestaltungsmöglichkeiten zu erweitern. Da das Aussehen von Buttons und Tabs oft Raum für Fantasie lässt, habe ich mich gegen eine starre Bindung von Text und Icons entschieden. Gestern habe ich eine Vorlage weitergegeben, die für ALLE Elemente mit Texten und Icons geeignet ist. Kopieren Sie einfach und ändern Sie die Änderungen, wenn Sie sie brauchen.
 
Wir planen, eine "Vorlagenbasis" zu erstellen, die die "Einfärbung" von Elementen, Fensterstrukturen, Gruppen (z. B. Registerkarten) und verschiedene Tabellenvarianten umfasst. Der Benutzer wählt ein Bild aus, kopiert den Code, nimmt Änderungen vor und fertig. Sehr bequem. Und schnell.
 
Ich werde auch die Ortungssysteme vereinheitlichen. Es gibt nämlich zu viele davon und sie funktionieren unterschiedlich. Ich werde sie so weit wie möglich vereinfachen.
 
Danke für die Korrekturen. Ich werde es mir ansehen.