Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ja, natürlich. )
Das nächste Update für diese Klasse(CTabs) wird der "Multiline Tab Mode" sein.
Wie hier (mehrere Zeilen) :
Super. Schade, dass Tabellen und Listen vorerst nur Tabellen und Listen sind. Bis jetzt dienen sie praktisch nur zur Visualisierung von Daten ohne jegliche Interaktivität.
Ich würde natürlich gerne die notwendigen Spalten/Zeilen von Listen/Tabellen nehmen und auswählen, und einige Manipulationen mit ihnen durchführen - zum Beispiel: es gibt eine Liste, Checkboxen setzen, oder generell komplett die notwendigen Zeilen auswählen, und in einem separaten Fenster die allgemeinen Daten zu den ausgewählten Zeilen anzeigen .... So etwas wäre doch super :)
Aber um das zu können, muss man Methoden zur Manipulation dieser Daten hinzufügen. Vielleicht gibt es das schon, aber ich weiß es nicht?
Großartig. Schade nur, dass Tabellen und Listen nur Tabellen und Listen sind. Bislang dienen sie praktisch nur der Visualisierung von Daten ohne jegliche Interaktivität.
...
Für die meisten der oben genannten Punkte ist alles da.
Das Auswählen eines Elements in Listen(CListView) erzeugt ein Ereignis, mit dem festgestellt werden kann, welches Element ausgewählt wurde und welcher aktuelle Wert ausgewählt wurde.
In Tabellen(CTable) ist es dasselbe. Bei der Auswahl einer Tabellenzeile wird ein Ereignis erzeugt, dessen Parameter den Zeilenindex (dparam-Parameter) enthalten, mit dem man dann die Werte in den Zellen dieser Zeile mit der Methode CTable::GetValue() abrufen kann:
//---
Und im Modus des Editierens von Tabellenzellen wird ein Ereignis erzeugt, in dessen Parametern (Parameter sparam) man einen String mit Spaltennummer, mit Zeilennummer und aktuellem Wert in der bearbeiteten Zelle im Format "column_row_text" erhalten kann.
Ich möchte, natürlich, zu nehmen und wählen Sie die notwendigen Spalten/Zeilen von Listen/Tabellen, und führen Sie einige Manipulationen mit ihnen - zum Beispiel: es gibt eine Liste, setzen Sie Kontrollkästchen, oder im Allgemeinen wählen Sie die notwendigen Zeilen, und zeigen Sie in einem separaten Fenster die allgemeinen Daten auf die ausgewählten Zeilen.... So etwas wäre super :)
Ich werde später separate Klassen für Listen mit Kontrollkästchen und Optionsfeldern erstellen.
1.)
Ich finde keine Informationen, wie ich einfache CLabel oder CEdit Steuerelemente zum Formular hinzufügen kann. (Aus objects.mqh)
Sie haben keine Funktion wie WindowPointer().
Ich kann diese Objekte erstellen, aber ich kann sie nicht an das Fenster anhängen.
Die
funktioniert in diesem Fall nicht...
2.)
Ist die CComboBox ein statisches Objekt. Ist es möglich, die Liste der Elemente in der
ComboBox-Listview nach der Erstellung der ComboBox zu ändern?
Vielen Dank!
Tol, etwas, das ich nicht gewinnen kann... Es gibt zwei Fenster. Vom ersten - vom Hauptmenü aus - öffnen wir das zweite Fenster, das 4 Registerkarten mit Symbolen hat. Mit jeder Registerkarte ist eine eigene Tabelle verbunden.
Das Problem ist folgendes: Beim Öffnen des ersten Fensters ist immer die zuletzt erstellte Tabelle sichtbar, und es spielt keine Rolle, dass vor dem Öffnen des Fensters die Registerkarte programmatisch auf die erforderliche umgeschaltet wird - sie ist ausgewählt, wie sie sein sollte, aber die Tabelle auf ihr ist nicht die, die an sie gebunden ist, sondern die jüngste.
Ich habe ein Beispiel gemacht. Bild des sich öffnenden ersten Fensters:
Screenshots der MetaTrader-Handelsplattform
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp. MetaTrader 5, Demo
Wie Sie sehen können, ist die Registerkarte 1 hervorgehoben, aber die Tabelle ist sichtbar, die an die Registerkarte 4 gebunden ist - sie ist in der Tabelle selbst in den Spaltenüberschriften geschrieben.
Wenn Sie die Registerkarte wechseln, werden die Tabellen dort platziert, wo sie sein sollen. Ich habe die zweite Registerkarte mit der Maus markiert:
Bildschirmfotos der MetaTrader-Handelsplattform
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp. MetaTrader 5, Demo
Zurück zum ersten:
Screenshots der MetaTrader-Handelsplattform
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp. MetaTrader 5, Demo
Was mache ich falsch? Oder ist es ein Fehler?
Dateien im Trailer. Indikator.
...
Was mache ich falsch? Oder ist es ein Fehler?
Mit CTabs-Registerkarten funktioniert es korrekt. Aber für CIconTabs-Registerkarten habe ich noch keine persönlichen Arrays in der Bibliotheks-Engine und keine automatische Anzeige des Inhalts der ausgewählten Registerkarte beim Öffnen eines Dialogfelds erstellt. Dies wird mit dem nächsten Update behoben werden.
Als vorübergehende Lösung können Sie jedoch bereits jetzt das Öffnen einer Dialogbox in einer benutzerdefinierten Klasse verfolgen und die Registerkarten aktualisieren, wie in der Auflistung unten gezeigt:
//| Ereignisbehandler|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_CUSTOM+ON_OPEN_DIALOG_BOX)
{
if(lparam==m_window2.Id())
m_icon_tabs.ShowTabElements();
}
}
Es funktioniert korrekt mit Registerkarten des Typs CTabs . Aber für CIconTabs-Registerkarten habe ich noch keine persönlichen Arrays in der Bibliotheks-Engine und automatische Anzeige des Inhalts der ausgewählten Registerkarte beim Öffnen eines Dialogfensters gemacht. Dies wird mit dem nächsten Update behoben werden.
Aber als vorübergehende Lösung können Sie jetzt schon das Öffnen eines Dialogfensters in einer benutzerdefinierten Klasse verfolgen und die Registerkarten wie in der Auflistung unten gezeigt aktualisieren:
//| Ereignisbehandler|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_CUSTOM+ON_OPEN_DIALOG_BOX)
{
if(lparam==m_window2.Id())
m_icon_tabs.ShowTabElements();
}
}
Ich versuche, ein Eingabefeld zu einer Registerkarte hinzuzufügen, aber es funktioniert nicht.
dann die Funktion.
Dieses Objekt ist nicht mit dem Panel verbunden, sondern befindet sich auf dem Diagramm.
und nach dem Löschen des Diagramms bleibt das Objekt