// BEVOR Sie Dialog.mqh verbinden!#include <Controls\Defines.mqh>
//--- Vergessen Sie die alten Farben#undef CONTROLS_DIALOG_COLOR_BORDER_LIGHT
#undef CONTROLS_DIALOG_COLOR_BORDER_DARK
#undef CONTROLS_DIALOG_COLOR_BG
#undef CONTROLS_DIALOG_COLOR_CAPTION_TEXT
#undef CONTROLS_DIALOG_COLOR_CLIENT_BG
#undef CONTROLS_DIALOG_COLOR_CLIENT_BORDER
//--- Neue Farben einstellen#define CONTROLS_DIALOG_COLOR_BORDER_LIGHT clrWhite// Farbe des Dialograhmens (außen)#define CONTROLS_DIALOG_COLOR_BORDER_DARK C'0xB6,0xB6,0xB6'// Farbe des Dialograhmens (innen)#define CONTROLS_DIALOG_COLOR_BG clrLightGreen// Dialoghintergrund (unter der Beschriftung und um den Kundenbereich herum)#define CONTROLS_DIALOG_COLOR_CAPTION_TEXT C'0x28,0x29,0x3B'// Textfarbe der Dialogüberschrift#define CONTROLS_DIALOG_COLOR_CLIENT_BG clrAliceBlue// Hintergrundfarbe des Kundenbereichs#define CONTROLS_DIALOG_COLOR_CLIENT_BORDER C'0xC8,0xC8,0xC8'// Farbe des Kundenbereichs// Jetzt verbinden#include <Controls\Dialog.mqh>
Können Sie mir ein einfaches Beispiel geben, wie CWndContainer verdreht werden sollte, um zumindest ein Quadrat auf dem Chat-Bildschirm mit .Show() anzuzeigen?
Ich habe alles versucht, zum Beispiel so, aber kein Fehler, kein Bild, kein Zeichen von .Show() funktioniert
Können Sie mir ein einfaches Beispiel dafür geben, wie CWndContainer verdreht werden sollte, um zumindest ein Quadrat auf dem Chat-Bildschirm mit .Show() anzuzeigen?
Ich habe alles versucht, zum Beispiel so, aber kein Fehler, kein Bild, kein Zeichen von .Show() funktioniert.
Warum CWndContainer? Was sollte man am Ende erhalten?
//+------------------------------------------------------------------+//| Macht die Gruppe der Steuerelemente sichtbar |//+------------------------------------------------------------------+bool CWndContainer::Show(void)
{
//--- Schleife nach Elementen der Gruppeint total=m_controls.Total();
for(int i=0;i<total;i++)
{
CWnd *control=Control(i);
//--- Überprüfung des Zeigersif(control==NULL)
continue;
control.Show();
}
//--- Aufruf der Methode der übergeordneten Klassereturn(CWnd::Show());
}
Was ist, wenn ich ein Button-Objekt habe und es keine .Show()-Methode hat.
Karputov Vladimir: Warum CWndContainer? Was sollten wir am Ende bekommen?
Ein Panel mit den Schaltflächen Kaufen - Verkaufen und einigen weiteren Benachrichtigungen über den Zustand des Expert Advisors. Aber es sollte auf dem Bildschirm mit der Maus gezogen werden, aber die Schaltfläche ist nicht gezogen.
Evgeny Potapov: Ein Panel mit den Schaltflächen Kaufen - Verkaufen und einigen weiteren Benachrichtigungen über den Status des Expert Advisors. Aber es sollte mit der Maus auf den Bildschirm gezogen werden, aber die Schaltfläche wird nicht gezogen.
Nach der Erstellung eines Objekts (Schaltfläche, Liste, Textfeld usw.) sollte dieses Objekt zum Panel hinzugefügt werden (Methode Add). Wenn Sie dann das Panel ziehen, werden alle Objekte zusammen mit dem Panel verschoben.
Karputov Vladimir: Nach der Erstellung eines Objekts (Schaltfläche, Liste, Textfeld usw.) sollte dieses Objekt dem Panel hinzugefügt werden (Methode Add). Wenn Sie dann das Panel verschieben, werden alle Objekte zusammen mit dem Panel verschoben.
Karputov Vladimir: Nach dem Erstellen eines Objekts (Schaltfläche, Liste, Textfeld usw.) sollte dieses Objekt dem Panel hinzugefügt werden (Methode Add). Wenn Sie dann das Bedienfeld verschieben, werden alle Objekte zusammen mit dem Bedienfeld verschoben.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Nun, das habe ich getan, nichts funktioniert. Das Panel ist immer noch weiß wie vorher.
Der Compiler sagt Macro redifinition, d.h. wie overdivided....
Befolge meinen ersten Rat, ersetze einfach die Farben in der Originaldatei und kompiliere den EA neu.
Um mich daran zu erinnern, wie ich die Farben in meinem Panel neu definiert habe, muss ich ein wenig kramen, aber ich habe im Moment keine Zeit.
Für Geschichte:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Warum bewegt sich das Panel weg, wenn ich die Einstellungen des Expert Advisors aktualisiere?
Andrey Khatimlianskii, 2016.03.10 13:17
Ungefähr so:
Können Sie mir ein einfaches Beispiel geben, wie CWndContainer verdreht werden sollte, um zumindest ein Quadrat auf dem Chat-Bildschirm mit .Show() anzuzeigen?
Ich habe alles versucht, zum Beispiel so, aber kein Fehler, kein Bild, kein Zeichen von .Show() funktioniert
Können Sie mir ein einfaches Beispiel dafür geben, wie CWndContainer verdreht werden sollte, um zumindest ein Quadrat auf dem Chat-Bildschirm mit .Show() anzuzeigen?
Ich habe alles versucht, zum Beispiel so, aber kein Fehler, kein Bild, kein Zeichen von .Show() funktioniert.
Ich verstehe die Logik hier nicht:
Was ist, wenn ich ein Button-Objekt habe und es keine .Show()-Methode hat.
Kann es nicht in einem Container enthalten sein?
Warum CWndContainer? Was sollten wir am Ende bekommen?
Ein Panel mit den Schaltflächen Kaufen - Verkaufen und einigen weiteren Benachrichtigungen über den Status des Expert Advisors. Aber es sollte mit der Maus auf den Bildschirm gezogen werden, aber die Schaltfläche wird nicht gezogen.
Nach der Erstellung eines Objekts (Schaltfläche, Liste, Textfeld usw.) sollte dieses Objekt dem Panel hinzugefügt werden (Methode Add). Wenn Sie dann das Panel verschieben, werden alle Objekte zusammen mit dem Panel verschoben.
Wie das geht?
Nach dem Erstellen eines Objekts (Schaltfläche, Liste, Textfeld usw.) sollte dieses Objekt dem Panel hinzugefügt werden (Methode Add). Wenn Sie dann das Bedienfeld verschieben, werden alle Objekte zusammen mit dem Bedienfeld verschoben.
Oder ist das kein "Hinzufügen zum Panel"?
Ein Container ist also kein Panel?
Oder ist es kein "Hinzufügen zu einem Panel"?
Ein Container ist also kein Panel?
Nehmen wir die Datei PanelDialog2.mqh aus dem Artikel als Beispiel:
Diese Datei erstellt die Elemente für ein Dialogfeld. Das Zeichen des Panels ist die Klasse CDialog.
Die CDialog-Klasse ist eine Klasse des Dialog-Kombinationssteuerelements.
Beschreibung
Die Klasse CDialog dient dazu, eine Gruppe von funktional zusammenhängenden, heterogenen Elementen visuell zu kombinieren.