Diskussion zum Artikel "Grafische Interfaces X: Erweitertes Management von Listen und Tabellen Code Optimierung (build 7)" - Seite 6
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
Nun, Sie sind es nicht gewohnt, "hin und her umzugestalten". )
Wahrscheinlich wird es nächste Woche einen neuen Artikel geben. Ich werde die erste Version des mehrzeiligen Eingabefeldes vorstellen. In den folgenden Artikeln werde ich nach und nach alles hinzufügen, was unter vier Augen und im Forum diskutiert wurde.
Ich würde Methoden ItemsSelectedTotal(); ItemsUnselectedTotal(); zusammen mit ItemsTotal() hinzufügen;
zu CListView und CCheckBoxList hinzufügen?
Das werde ich tun, aber nicht im nächsten Artikel. Es wird also ein ziemlich großer Artikel werden.
Zu CListView und CCheckBoxList?
Ich werde es hinzufügen, aber nicht im nächsten Artikel. Dies ist ein ziemlich umfangreicher Artikel.
Tol, wie kann ich programmatisch herausfinden, welches Kontrollkästchen eines Listenelements aktiviert ist. Ohne darauf zu klicken.
Ich brauche eine Liste aller angekreuzten Elemente in der Liste.
Ich bin ratlos. Bitte sagen Sie mir, in welche Richtung ich schauen muss.
Tol, wie kann ich programmatisch herausfinden, welches Kontrollkästchen eines Listenelements aktiviert ist. Ohne darauf zu klicken.
Ich brauche eine Liste aller angekreuzten Elemente in der Liste.
Ich bin ratlos. Bitte sagen Sie mir, in welche Richtung ich schauen muss.
CCheckBoxList::GetItemState()
Danke! Das ist, was ich tat. Ich habe eine Schleife von 0 bis ItemsTotal() gemacht. Es war mein Fehler, deshalb hat es gepatzt.
Können Sie mir sagen, ob die Zustände der Kontrollkästchen beim Wechsel des Zeitrahmens zurückgesetzt werden?
Wenn ja, wie kann ich diesen unangenehmen Moment umgehen? (Bei mir werden sie zurückgesetzt - vielleicht mache ich etwas falsch).
Ich danke Ihnen. Das ist, was ich tat. Ich habe eine Schleife von 0 bis ItemsTotal() gemacht. Das war mein Fehler, deshalb gab es die Störung.
Könnten Sie mir bitte sagen, ob die Zustände der Kontrollkästchen beim Wechsel des Zeitrahmens zurückgesetzt werden?
Wenn ja, wie kann ich diesen unangenehmen Moment umgehen? (Ich habe sie zurückgesetzt - vielleicht mache ich etwas falsch).
Sie müssen in eine Datei schreiben. Und sie lesen, wenn Sie die GUI installieren. Dies ist das Thema eines zukünftigen Artikels und es ist noch ein langer Weg zu gehen.
Sie müssen in eine Datei schreiben. Und sie bei der Installation der GUI lesen. Das ist das Thema eines zukünftigen Artikels und es ist noch ein langer Weg bis dahin.
Anatol, ich versuche, Bid-Preise von Zeichen, die in Tabellenzeilen in Spalte 0 geschrieben werden, in die Tabelle im Timer zu schreiben:
//| Timer|
//+------------------------------------------------------------------+
void CProgram::OnTimerEvent(void)
{
CWndEvents::OnTimerEvent();
//--- Pause zwischen den Aktualisierungen von Listen und Tabellen
if(m_counter1.CheckTimeCounter()) {
uint sz=m_table_main_symbol_list.RowsTotal();
for(uint i=1; i<sz; i++) {
string sy=m_table_main_symbol_list.GetValue(0,i);
MqlTick tick;
if(sy!=NULL && sy!="") {
if(SymbolInfoTick(sy,tick)) {
int dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS);
m_table_main_symbol_list.SetValue(1,i,DoubleToString(tick.bid,dg),dg);
m_table_main_symbol_list.TextColor(1,i,clrDimGray);
//m_table_main_symbol_list.UpdateTable();
}
}
}
//--- Zeichnen Sie das Diagramm neu
m_chart.Redraw();
}
//--- Pause zwischen den Aktualisierungen der Statusleiste
if(m_counter2.CheckTimeCounter()) {
//--- Zeichnen Sie das Diagramm neu
m_chart.Redraw();
}
}
//+------------------------------------------------------------------+
Wenn dies ohne UpdateTable() geschieht, erscheinen keine Daten in den Tabellenzellen. Wenn Sie die Tabelle jedes Mal aktualisieren, wenn Sie einen neuen Tick erhalten, wird es unmöglich, mit der Tabelle zu arbeiten - es blinkt, die hervorgehobene Zeile blinkt, etc....
Wie kann man sich aus dieser Situation befreien?
Anatole, ich versuche, in einer Tabelle in einem Timer auf die Spalte mit Index 1 die Geldpreise der Zeichen in den Tabellenzeilen in Spalte 0 eingegeben zu schreiben:
...
Wenn ich das ohne UpdateTable() mache, erscheinen keine Daten in den Tabellenzellen. Wenn Sie die Tabelle jedes Mal aktualisieren, wenn Sie ein neues Häkchen erhalten, dann wird es unmöglich, mit der Tabelle zu arbeiten - sie blinkt, die ausgewählte Zeile blinkt, etc....
Wie kommt man aus dieser Situation heraus?