Ersetzen Sie in der Datei Element.mqh im CElement-Konstruktor die Werte von m_font und m_font_size. Und wie kann man das Gleiche tun, ohne die Bibliothek zu bearbeiten?
o-dima: Ersetzen Sie in der Datei Element.mqh im CElement-Konstruktor die Werte m_font und m_font_size. Und wie kann man das gleiche tun, ohne die Bibliothek zu ändern?
Was ist das Problem mit jedem Element, das diese Werte bei der Erstellung angibt?
I tried this source, it worked. Really great work, thank you!
I tried to adapt it to my needs and it didn't worked. After hours of debugging i found it:
When the filename of the ExampleEA.mq5 is longer than 14 characters, than during the creation of the combobox, the function ResourceCreate() inside the Canvas class fails with error 4016 (ressource not found).
Is this behaviour known? Since i don't know the exact circumstances leading to this error i try to find out how to prevent such errors.
Update: I found a corresponding discussion with a quick solution here.
2021.01.1817:57:52.598 MacdSampleCFrames (Si-3.21,M2) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 40162021.01.1817:57:52.598 MacdSampleCFrames (Si-3.21,M2) CProgram::OnTesterInitEvent > Could not create the GUI!
Nach einer der Aktualisierungen wurde der Puffer für die globale Terminalvariablen-Zeichenkette verkleinert, was seit einiger Zeit zu einem kritischen Fehler geführt hat.
Dieser Fehler kann durch einen schnellen Hack behoben werden, ohne dass man in den Code eingreifen muss, indem man die Expert Advisor-Startdatei umbenennt und ihren Namen verkürzt
zum Beispiel von MacdSampleCFrames.ex5 in Macd.ex5.
Warum schreiben Sie nicht Methoden zur Änderung von Objekteigenschaften (wie Schriftart, Größe, Farbe, Hintergrundfarbe usw.) in der Klasse CElement, anstatt die Standardeigenschaften zu verwenden. Dies ist sehr unfreundlich für die Programmierung
Ich habe die Anzahl der Warnungen von 18 auf 6 reduziert.
Und diese 6 lassen sich auf die folgenden 4 Arten von Problemen zurückführen. Könnt ihr mir einen Rat geben, wie ich sie richtig korrigieren kann?
1. Wie ersetze ich es richtig mit "CElementBase::"?
//--- Определим цвет для линииcolor clr=m_back_color;
if(m_tabs.GetButtonPointer(m_selected_tab).IsLocked()) // diese!
clr=m_tabs.GetButtonPointer(m_selected_tab).BackColorLocked();
//- Рисуем линию
m_canvas.Line(x1,y1,x2,y2,::ColorToARGB(clr,m_alpha));
}
2. Und hier - wenn ich "el." durch "CElementBase::" ersetze - gibt es einen neuen Kompilierungsfehler, der besagt "IsAvailable - access to non-staticmember of function" - wie löst man das richtig?
for(int e=0; e<elements_total; e++)
{
//--- Проверяем только доступные элементы
CElement *el=m_wnd[m_active_window_index].m_elements[e];
if(!el.IsVisible() || !el.IsAvailable() || el.IsLocked())
continue;
//--- Обработка события в обработчике элемента
el.OnEvent(m_id,m_lparam,m_dparam,m_sparam);
}
3. Dieselbe Zeile: wenn ich "el.IsLocked()" durch "CElementBase::IsLocked" ersetze: Fehler "IsLocked - access to non-static member of function"
4. Womit soll ich "m_windows[0].IsLocked()" ersetzen?
//--- Выйти, если интерфейс не созданif(windows_total<1)
return;
//--- Изменить размер всех элементов заблокированной формы, если включен один из режимовif(m_windows[0].IsLocked() && (m_windows[0].AutoXResizeMode() || m_windows[0].AutoXResizeMode()))
{
Bitte helfen Sie! Es wäre toll, diese Bibliothek zu verwenden. Aber wir müssen zuerst diese paar Dinge lösen.
Und wie kann man das Gleiche tun, ohne die Bibliothek zu bearbeiten?
Ersetzen Sie in der Datei Element.mqh im CElement-Konstruktor die Werte m_font und m_font_size.
Und wie kann man das gleiche tun, ohne die Bibliothek zu ändern?
Was ist das Problem mit jedem Element, das diese Werte bei der Erstellung angibt?
Die Bibliothek EasyAndFastGUI zum Erstellen von grafischen Interfaces:
Autor: Anatoli Kazharski
Hey together,
I tried this source, it worked. Really great work, thank you!
I tried to adapt it to my needs and it didn't worked. After hours of debugging i found it:
When the filename of the ExampleEA.mq5 is longer than 14 characters, than during the creation of the combobox, the function ResourceCreate() inside the Canvas class fails with error 4016 (ressource not found).
Is this behaviour known? Since i don't know the exact circumstances leading to this error i try to find out how to prevent such errors.
Update: I found a corresponding discussion with a quick solution here.
Nach einer der Aktualisierungen wurde der Puffer für die globale Terminalvariablen-Zeichenkette verkleinert, was seit einiger Zeit zu einem kritischen Fehler geführt hat.
Dieser Fehler kann durch einen schnellen Hack behoben werden, ohne dass man in den Code eingreifen muss, indem man die Expert Advisor-Startdatei umbenennt und ihren Namen verkürzt
zum Beispiel von MacdSampleCFrames.ex5 in Macd.ex5.
Wie kann ich die Parameter der Textbeschriftung von Anchor(ANCHOR_RIGHT)einstellen ?
Ist Bug! ?
Gustavo Enedir Hennemann:
Hello,
I didn't get it. What to do?
Ersetzen Sie von m_main nach CElementBase::, wo die Warnung erscheint.
Hallo @Mikhail Sergeev, @Paulo Campello!
Leute!
Ich habe die Anzahl der Warnungen von 18 auf 6 reduziert.
Und diese 6 lassen sich auf die folgenden 4 Arten von Problemen zurückführen. Könnt ihr mir einen Rat geben, wie ich sie richtig korrigieren kann?
1. Wie ersetze ich es richtig mit "CElementBase::"?
2. Und hier - wenn ich "el." durch "CElementBase::" ersetze - gibt es einen neuen Kompilierungsfehler, der besagt "IsAvailable - access to non-staticmember of function" - wie löst man das richtig?
3. Dieselbe Zeile: wenn ich "el.IsLocked()" durch "CElementBase::IsLocked" ersetze: Fehler "IsLocked - access to non-static member of function"
4. Womit soll ich "m_windows[0].IsLocked()" ersetzen?
Bitte helfen Sie! Es wäre toll, diese Bibliothek zu verwenden. Aber wir müssen zuerst diese paar Dinge lösen.
Vielen Dank für Ihre Hilfe!