Diskussion zum Artikel "Grafisches Interface X: Sortieren, Neuerstellen der Tabelle und Steuerelemente der Zellen (build 11)" - Seite 5

 
Konstantin:

)), jetzt verstehe ich, durch die Art und Weise DataType() standardmäßig hat welchen Typ? Oder gibt es keinen Standardzustand und es ist notwendig, den Typ des gespeicherten Wertes zu bestimmen, bevor er der Zelle hinzugefügt wird?

Standardmäßig String:

//+------------------------------------------------------------------+
//| Initialisierung der angegebenen Spalte mit Standardwerten ||
//+------------------------------------------------------------------+
void CCanvasTable::ColumnInitialize(const uint column_index)
  {
//--- Initialisierung der Spalteneigenschaften mit Standardwerten
   m_columns[column_index].m_x              =0;
   m_columns[column_index].m_x2             =0;
   m_columns[column_index].m_width          =100;
   m_columns[column_index].m_type           =TYPE_STRING;
   m_columns[column_index].m_text_align     =ALIGN_CENTER;
   m_columns[column_index].m_text_x_offset  =m_text_x_offset;
   m_columns[column_index].m_image_x_offset =m_image_x_offset;
   m_columns[column_index].m_image_y_offset =m_image_y_offset;
   m_columns[column_index].m_header_text    ="";
  }
 
Anatoli Kazharski:

2 und 3 können jetzt weggelassen werden. Rufen Sie keine Methoden in der Formularerstellungsmethode der Benutzerklasse CProgram auf:



Nun, es gäbe eine dritte Methode, um 1 zu deaktivieren
 
Anatoli Kazharski:

Standard-String:


oops, schon selbst gefunden ))
 
Konstantin:

Ich würde eine dritte Methode hinzufügen, um 1 zu deaktivieren
Ich werde die Methode UseCloseButton() hinzufügen.
 
Anatoli Kazharski:
Ich werde die Methode UseCloseButton() hinzufügen.

Danke)) und wann soll ich auf all diese Aktualisierungen warten?

Noch eine Frage - ist es möglich, zwei grafische Objekte in eine Tabellenzelle zu setzen, oder ist es auf nur eines beschränkt?

Wenn es keine solche Möglichkeit gibt, könnten Sie kombinierte Bilder von buy_sell- und sell_buy-Pfeilen im bmp16-Format wie im TestLibrary10-Beispiel erstellen?

 
Konstantin:

sps )) und wann muss man auf all diese Aktualisierungen warten?

Eine weitere Frage: Ist es möglich, zwei grafische Objekte in einer Tabellenzelle zu platzieren, oder ist es auf ein einziges beschränkt?

Im Allgemeinen sollte man sich darauf einstellen, dass die nächste Aktualisierung nicht immer stattfindet. )

Und so hoffe ich, die Liste der Aufgaben für den nächsten Artikel so schnell wie möglich abarbeiten zu können. Vielleicht in einer Woche, vielleicht in zwei Wochen, vielleicht in einem Monat.

Können Sie ein Beispiel für Ihre Aufgabe zeigen, wenn Sie mehr als ein Bild in einer Tabellenzelle benötigen?

 
Konstantin:

...

Wenn es keine solche Möglichkeit gibt, könnten Sie kombinierte Bilder von buy_sell und sell_buy Pfeilen im bmp16 Format erstellen, wie im TestLibrary10 Beispiel ?

Ich empfehle Ihnen, sich mit einem Grafikeditor vertraut zu machen, um Bilder für die GUI selbst zu erstellen oder zu bearbeiten.
 
Anatoli Kazharski:

Können Sie ein Beispiel für Ihre Aufgabe zeigen, wenn Sie mehr als ein Bild in einer Tabellenzelle benötigen?

statarbitrage, "zwei Beine" Eingabe.

gerade jetzt habe ich Text in der Tabelle zu schreiben, die Tabelle basiert auf der Standardbibliothek MetaQuotes, aber ich machte diese Klasse zurück im Jahr 2014 und es ist nicht so funktional wie Ihre, so dass ich beschlossen, nicht meine GUI-Bibliothek weiter zu schreiben, und das Ereignismodell wie in MFC (implementiert in der Standardbibliothek MetaQuotes) nicht ganz mir passen )) Ihre Bibliothek ist besser und funktionaler.

 
Anatoli Kazharski:
Ich empfehle, dass Sie lernen, einen Grafikeditor zu benutzen, um Bilder für die grafische Oberfläche selbst zu erstellen oder zu bearbeiten.
Für mich sind Grafiken schwierig, außerdem haben Sie bereits fertige Rohlinge auf der Grundlage der Kauf- und Verkaufstasten, die Sie gemacht haben.
 
Konstantin:
Für mich ist Grafik schwierig, außerdem gibt es bereits fertige Rohlinge auf der Basis von gekauften und verkauften Knöpfen.
Ich habe keine Zeit für das noch.