Bibliotheken: Die Bibliothek EasyAndFastGUI zum Erstellen von grafischen Interfaces - Seite 21

 
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?

 
Irrational, wenn es hundert Elemente gibt.
 

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.

Lib 'EasyAndFastGUI': Creating Canvas fails with error 4016 after update build 2265
Lib 'EasyAndFastGUI': Creating Canvas fails with error 4016 after update build 2265
  • 2019.12.14
  • www.mql5.com
Hi guys, the following error occurs (which did not before releasing build 2265) when I create GUI elements with the EasyAndFastGUI library (https...
 
OMG. Es ist komplex, aber fortschrittlich und das UI-Design sieht gut aus! GROSSARTIG!
 
2021.01.18 17:57:52.598 MacdSampleCFrames (Si-3.21,M2)  CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016
2021.01.18 17: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.

 

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.

 
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
 

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::"?

//--- Определим цвет для линии
   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.

Vielen Dank für Ihre Hilfe!