Ich habe die Bibliothek für die dynamische Objekterstellung nicht getestet, daher kann ich Ihnen im Moment keinen Rat geben.
Das dachte ich mir schon :)
Für einfache Objekte habe ich dies geschrieben:
//+------------------------------------------------------------------+//|| Entfernt einen Zeiger aus dem Array der Elemente |//+------------------------------------------------------------------+void CWndContainer::DeleteElementsFromArray(constint window_index,constint id)
{
int windows_total=::ArraySize(m_windows);
//--- Wenn keine Formulare für Steuerelemente in der Datenbank vorhanden sindif(windows_total<1)
{
::Print(__FUNCTION__," > Es gibt nicht nur eine Form.");
return;
}
//--- Wenn die Anfrage für ein nicht existierendes Formular istif(window_index>=windows_total)
{
::Print(PREVENTING_OUT_OF_RANGE," window_index: ",window_index,"; windows total: ",windows_total);
return;
}
//--- Elemente aus dem gemeinsamen Array entfernen
DeleteElement(id,m_wnd[window_index].m_elements);
//--- Entfernen der Hauptelemente aus dem Array
DeleteElement(id,m_wnd[window_index].m_main_elements);
//---
DeleteElement(id,m_wnd[window_index].m_timer_elements);
//---
DeleteElement(id,m_wnd[window_index].m_available_elements);
//---
DeleteElement(id,m_wnd[window_index].m_auto_x_resize_elements);
//---
DeleteElement(id,m_wnd[window_index].m_auto_y_resize_elements);
}
//+------------------------------------------------------------------+//|| Entfernt einen Zeiger aus dem Array der Elemente |//+------------------------------------------------------------------+template<typename T>
void CWndContainer::DeleteElement(constint id,T &array[])
{
bool del=false;
for(int i=0;i<ArraySize(array);i++)
{
if(del)
{
if(i==ArraySize(array)-1) break;
array[i] = array[i+1];
continue;
}
if(array[i].Id()==id)
{
del=true;
if(i==ArraySize(array)-1) break;
array[i] = array[i+1];
}
}
if(del) ArrayResize(array,ArraySize(array)-1,RESERVE_SIZE_ARRAY);
}
//+------------------------------------------------------------------+
MT4 Version.
Experten\Artikel09\TestLibrary03
Der Edit flackert immer.
Anatoli Kazharski Bitte helfen Sie, diesen Fehler zu beheben.
https://www.mql5.com/en/forum/274301
Guten Tag.
Größeres Problem :)
Erstellen Sie ein dynamisches Objekt, zum Beispiel ein Etikett
...
Ich habe die Bibliothek für die Erstellung dynamischer Objekte noch nicht getestet, daher kann ich Ihnen jetzt keinen Rat geben.
Ein weiteres Beispiel für eine Anwendung, deren grafische Benutzeroberfläche mit dieser Bibliothek erstellt wurde:
MT4 Version.
Leider kann ich jetzt nicht mehr helfen, da es für MT4 nicht mehr funktioniert. Diese Version der Bibliothek wurde nur auf dem MT5 getestet.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: EasyAndFastGUI - библиотека для создания графических интерфейсов
Anatoli Kazharski, 2018.08.24 10:09
Ещё один пример приложения, GUI которого создано с помощью этой библиотеки:
Ich habe die Bibliothek für die dynamische Objekterstellung nicht getestet, daher kann ich Ihnen im Moment keinen Rat geben.
Das dachte ich mir schon :)
Für einfache Objekte habe ich dies geschrieben:
Können Sie mir sagen, in der Tabelle die Schaltfläche mit einem Bild wird nur in der ersten Spalte hinzugefügt, und in den Rest nicht funktioniert.
Ist das ein Fehler oder nicht?
In der Tabelle wird die Schaltfläche mit dem Bild nur in der ersten Spalte hinzugefügt, in den anderen Spalten funktioniert sie nicht.
Sie können zu allen Spalten hinzufügen.
Sie können zu allem etwas hinzufügen.
Danke, ich habe es herausgefunden.
Aber seltsamerweise ist das Bild nicht sichtbar, wenn die Ausrichtung in der Zelle auf Mitte oder rechts eingestellt ist.
Wenn die Ausrichtung links ist, funktioniert es gut.
Danke, ich hab's schon.
Aber seltsamerweise ist das Bild nicht sichtbar, wenn die Ausrichtung in der Zelle auf Mitte oder rechter Rand eingestellt ist.
Wenn es am linken Rand ist, funktioniert es gut.
Ja, jetzt gibt es eine solche Einschränkung (nur linker Rand).