Diskussion zum Artikel "Grafische Interfaces X: Text Edit Box, Bild Slider und einfache Controls (build 5)" - Seite 4
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
Warum ist die leere Zeichenkette im Texteingabefeld nicht "" sondern " " "? Lange Zeit konnte ich nicht herausfinden, warum die Prüfung auf eine leere Zeichenkette nicht funktioniert....
Ich weiß nicht, warum. Es wird mit einer leeren Zeichenkette ("") initialisiert. Sie können sich selbst davon überzeugen, indem Sie im Konstruktor der Klasse CTextEdit nachsehen:
//| Konstruktor|
//+------------------------------------------------------------------+
CTextEdit::CTextEdit(void) : m_edit_value(""),
m_reset_mode(false),
m_show_text_pointer_mode(false),
m_align_mode(ALIGN_LEFT),
m_text_edit_state(true),
m_area_color(clrNONE),
m_icon_x_gap(0),
m_icon_y_gap(3),
m_icon_file_on(""),
m_icon_file_off(""),
m_label_text(""),
m_label_x_gap(0),
m_label_y_gap(4),
m_label_color(clrBlack),
m_label_color_hover(C'85,170,255'),
m_label_color_locked(clrSilver),
m_edit_y_size(20),
m_edit_x_gap(50),
m_edit_y_gap(0),
m_edit_color(clrWhite),
m_edit_color_locked(clrWhiteSmoke),
m_edit_text_color(clrBlack),
m_edit_text_color_locked(clrSilver),
m_edit_text_color_highlight(clrRed),
m_edit_border_color(clrSilver),
m_edit_border_color_hover(C'85,170,255'),
m_edit_border_color_locked(clrSilver)
{
//--- Speichern des Namens der Elementklasse in der Basisklasse
CElementBase::ClassName(CLASS_NAME);
//--- Prioritäten für das Drücken der linken Maustaste setzen
m_area_zorder =1;
m_label_zorder =0;
m_edit_zorder =2;
}
Ich weiß nicht, warum. Sie wird mit einer leeren Zeichenkette ("") initialisiert. Sie können sich selbst davon überzeugen, indem Sie im Konstruktor der Klasse CTextEdit nachsehen:
...
gibt diese Fehlermeldung aus, wenn ich eine Verbindung herstelle (sie beeinträchtigt die Arbeit nicht)
cannot load custom indicator 'C:\MetaTrader\MT5 demo\MQL5\Experts\new_menue_fc_1.00.ex5::Indicators\SubWindow.ex5' [4802]
Ich verwende diese Version der Bibliothek, die Menüs befinden sich in den Hauptgrafiken.
wo sie in den Dateien verbunden ist, ich kann sie nicht finden
In der Hauptdatei der MQL-Anwendung, die Sie testen, löschen Sie diese Zeile:
//|TestLibrary05.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. | |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2016, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
//--- Anschluss des Indikators für den Modus "Experte im Unterfenster".
#resource "\\Indicators\\SubWindow.ex5"
In der Hauptdatei der MQL-Anwendung, die Sie testen, löschen Sie diese Zeile:
Das ist das Problem, es wird gelöscht
Setzen Sie in der Datei Defines.mqh den Parameter EXPERT_IN_SUBWINDOW auf false:
//|Definiert.mqh |
//| Copyright 2015, MetaQuotes Software Corp. | |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
//--- Experte im Fenstermodus
#define EXPERT_IN_SUBWINDOW false
Setzen Sie in der Datei Defines.mqh den Parameter EXPERT_IN_SUBWINDOW auf false:
#define EXPERT_IN_SUBWINDOW true
Dies führt zu Fehlern, wenn der Experte nicht im Unterfenster verwendet wird.
Ich habe in der Datei "Defines.mqh" die Einstellung auf "false" geändert, und bis jetzt scheint alles korrekt zu funktionieren.