Galerie der in MQL geschriebenen UIs - Seite 33

 
hini #:
Ist "END " fest, wenn das Ende eines Element-Attributsatzes festgelegt wird?
Ich bin mir nicht sicher, ob ich die Frage genau verstanden habe, aber wenn es um die Einstellung der Eigenschaften eines einzelnen Elements innerhalb oder außerhalb einer Gruppe geht, dann nein. Sie brauchen sie nicht zu setzen. Aber bei der mehrfachen Initialisierung von Eigenschaften (wie im obigen Beispiel) ist es notwendig, END an das Ende der Aufzählungszeichenfolge zu setzen.

"END" steht am Ende verschiedener Arten von Aufzählungen, auf die ich später noch eingehen werde. Aber kurz gefasst:

1. Aufzählung gemeinsamer Eigenschaften von homogenen Elementen innerhalb einer bestimmten Gruppe, eine der Aufzählungsarten mit "END" am Ende.

2. Eine Aufzählung der zu blockierenden Elemente.

3. Aufzählung der gesperrten Fenster.

4. Aufzählung der schaltbaren Elemente.

5. Liste der synchronisierten Elemente (d.h. deren Parameter).


 
6. Eine weitere Aufzählung mit "END" am Ende ist IS_APPEARANCE_CONTROLLER.

Sie listet die Elemente oder Gruppen von Elementen auf, deren Phänomene durch ein vom Benutzer zugewiesenes Hauptelement gesteuert werden.
 

Mit großem Bedauern habe ich keine Möglichkeit gefunden, Elemente direkt auf der gemalten Leinwand zu zeichnen und dabei das gesamte Diagramm zu schließen. Mit anderen Worten - ein "Vollbild"-Fenster, ohne Rahmen und Schließen-Schaltflächen, etc.

Das ist es, was ich brauche. Keine Panels über dem Diagramm.

Wenn es nicht implementiert ist, ist es nicht schwer für Sie. Fügen Sie die Möglichkeit hinzu, ein Fenster in der Größe des Diagramms und ohne einen Rahmen zu öffnen.

 
Реter Konow #:
Ich bin mir nicht ganz sicher, was die Frage bedeutet, aber wenn es um die Einstellung der Eigenschaften einzelner Elemente innerhalb oder außerhalb einer Gruppe geht, dann nein. Sie brauchen sie nicht zu setzen. Im Falle der mehrfachen Initialisierung von Attributen (wie im obigen Beispiel) ist es jedoch notwendig, "END" an das Ende der Aufzählungszeichenfolge zu setzen.

"END" befindet sich am Ende mehrerer Aufzählungstypen, auf die ich später noch eingehen werde. Kurz gefasst.

1. eine Aufzählung der gemeinsamen Eigenschaften homogener Elemente in einer bestimmten Gruppe, die einer der Aufzählungstypen ist, die auf "END" enden.

2. eine Aufzählung der zu sperrenden Elemente.

3. eine Aufzählung der gesperrten Fenster.

4. eine Aufzählung der schaltbaren Elemente

5. eine Aufzählung der synchronisierten Elemente (unter Bezugnahme auf ihre Argumente).


2,3,4,5,6 benötigen konkreten Code zum Verständnis.
 
Edgar Akhmadeev Größe des Diagramms und ohne einen Rahmen zu öffnen.
Es gibt ein skalierbares dynamisches Fenster, das sich auf das gesamte Diagramm ausdehnt. Es ist in dieser Version deaktiviert, aber ich werde es in der nächsten Version hinzufügen. Wird diese Option funktionieren?
 
hini #:
Sie brauchen echten Code, um 2,3,4,5,6 zu verstehen.
Ok, ich werde heute Beispiele zeigen.
 
Реter Konow #:
Es gibt ein skalierbares dynamisches Fenster, das sich auf das gesamte Diagramm ausdehnt. Es ist in dieser Version deaktiviert, aber ich werde es in der nächsten Version hinzufügen. Wird diese Option funktionieren?

Ich weiß noch nicht, wie sie aussehen wird. Wenn sich das Fenster auf das gesamte Diagramm ausdehnt und dabei die Rahmen und die Schaltflächen zum Schließen und Verkleinern beibehält, wäre das ein Schritt in Richtung meines Wunsches. Aber wenn das Zeichnen dieser Fensterelemente bereits implementiert ist, ist es einfach, dieses Zeichnen mit dem FULL_SCREEN-Flag zu deaktivieren. Ihr Grafikdesigner sieht so aus.

Es gibt eine Menge Fragen, die ich nicht stelle, während der Prozess der Veröffentlichung von Lektionen im Gange ist. Mit der Zeit wird einiges klarer werden.

 
Edgar Akhmadeev #:

1. Ich weiß noch nicht, wie es aussehen wird. Wenn sich das Fenster auf das gesamte Diagramm ausdehnt und dabei Rahmen und Schaltflächen zum Schließen und Verkleinern beibehält, wäre das ein Schritt in Richtung meines Wunsches. Aber wenn das Zeichnen dieser Fensterelemente bereits implementiert ist, ist es einfach, dieses Zeichnen mit dem FULL_SCREEN-Flag zu deaktivieren. So sieht Ihr Grafikdesigner aus.

Es gibt eine Menge Fragen, die ich nicht stelle, während der Prozess der Veröffentlichung von Lektionen im Gange ist. Mit der Zeit wird einiges klarer werden.

1. Ich werde über die Möglichkeit nachdenken, das dynamische Fenster zu "überdehnen", wobei die Rahmen aus dem Blickfeld verschwinden, wenn man auf einen bestimmten Bereich klickt, z.B. die obere linke Ecke. Aber das wird erst später geschehen. Ich werde zunächst ein normales dynamisches Fenster freigeben.

2. Ich verstehe, gut.

 

Da die KIB-Auszeichnungssprache keine große Komplexität aufweist und das weitere Material ebenso leicht zu erlernen ist wie das erste, werde ich von der Reihenfolge der Darstellung abweichen und die Aufzählungen mit dem k.word "END" abschließen.

1. Die erste Aufzählung haben wir in den vorangegangenen Beispielen gelernt: die massenhafte Festlegung von Eigenschaften von Elementen des gleichen Typs innerhalb einer Gruppe.

  • Es ist notwendig, i zu schreiben ( in dieser Sprache bedeutet es"diese Gruppe").
  • Setzen Sie den Typ der Elemente , deren Eigenschaften wir einstellen wollen, in den Plural, z. B. BUTTONS.
  • Listen Sie die Eigenschaften und Werte in Kommas auf (ohne _,), z.B.: W , 200, H,30, N_COLOR, (uint)clrRed, A_COLOR, (uint)clrGreen, P_COLOR, (uint)clrYellow,....,
  • Setzen Sie END an das Ende der Aufzählung.

Wenn Eigenschaften mehrfach initialisiert werden, gilt diese Regel für alle Elemente. Eigenschaften, die nicht in der Aufzählung erwähnt werden, behalten ihre Standardwerte oder die Werte, die vom Benutzer vor der Aufzählungszeichenfolge festgelegt wurden.


1.


EineEigenschaft eines Elements hat IMMER den zuletzt eingestellten Wert.

In dieser Abbildung haben alle Schaltflächen außer der obersten Schaltfläche einen Standardwert für die Höhe. Der obersten Schaltfläche wurde vom Benutzer eine Höhe von 50px zugewiesen. Unten im Code wird dieser Wert nicht überschrieben, da die Aufzählung der Schaltflächeneigenschaften nur auf WIDTH (120 px) eingestellt ist.



2.

Hier wird der zuvor eingestellte Wert für die Höhe der Schaltfläche "Schaltfläche 1" mit dem neuen Wert in der Aufzählungszeile überschrieben und funktioniert nicht mehr.



3. und in diesem Beispiel wird der Wert, der in der Aufzählung für eine bestimmte Schaltfläche in der Zeile unter der Aufzählung festgelegt wurde, überschrieben:



 

Code:

Option 1:


//------------------------------------------------------
GROUP, A,
 
__, CHECKBOX, "Checkbox 1",         BUTTON, "button 1", H, 50, 
__, CHECKBOX, "Checkbox 2",         BUTTON, "button 2",          
__, CHECKBOX, "Checkbox 3",         BUTTON, "button 3",        
__, CHECKBOX, "Checkbox 4",         BUTTON, "button 4",           
__, CHECKBOX, "Checkbox 5",         BUTTON, "button 5",           
__, CHECKBOX, "Checkbox 6",         BUTTON, "button 6",         

END_GROUP,
//--------------------------
//--------------------------
// SET PROPERTIES EXPLICITLY FOR BUTTONS
//--------------------------
i, BUTTONS,     W, 120,   END,
//--------------------------
// SET PROPERTIES EXPLICITLY FOR CHECKBOXES
//--------------------------
i, CHECKBOXES,  W, 90,    END,
//--------------------------
//--------------------------
//SET GROUP POSITION:
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------
i, X_GAP, 30,
i, Y_GAP, 40,
//--------------------------


Option 2:

//------------------------------------------------------
GROUP, A,
 
__, CHECKBOX, "Checkbox 1",         BUTTON, "button 1"  
__, CHECKBOX, "Checkbox 2",         BUTTON, "button 2",          
__, CHECKBOX, "Checkbox 3",         BUTTON, "button 3",        
__, CHECKBOX, "Checkbox 4",         BUTTON, "button 4",           
__, CHECKBOX, "Checkbox 5",         BUTTON, "button 5",           
__, CHECKBOX, "Checkbox 6",         BUTTON, "button 6",         

END_GROUP,
//--------------------------
//--------------------------
// SET PROPERTIES EXPLICITLY FOR BUTTONS
//--------------------------
i, BUTTONS,     W, 120, H, 20,  END,
//--------------------------
//OVERWRITE PREVIOUS VALUE FOR THIS SPECIFIC BUTTON.
//--------------------------
   "button 1", H, 50,
//--------------------------
// SET PROPERTIES EXPLICITLY FOR CHECKBOXES
//--------------------------
i, CHECKBOXES,  W, 90,    END,
//--------------------------
//--------------------------
//SET GROUP POSITION:
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------
i, X_GAP, 30,
i, Y_GAP, 40,
//--------------------------