// ¡Antes de conectar Dialog.mqh!#include <Controls\Defines.mqh>
//--- Olvida los viejos colores#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
//--- Establecer nuevos colores#define CONTROLS_DIALOG_COLOR_BORDER_LIGHT clrWhite// Color del borde del diálogo (exterior)#define CONTROLS_DIALOG_COLOR_BORDER_DARK C'0xB6,0xB6,0xB6'// Color del borde del diálogo (interior)#define CONTROLS_DIALOG_COLOR_BG clrLightGreen// Fondo del diálogo (debajo del título y alrededor del área del cliente)#define CONTROLS_DIALOG_COLOR_CAPTION_TEXT C'0x28,0x29,0x3B'// Color del texto del diálogo#define CONTROLS_DIALOG_COLOR_CLIENT_BG clrAliceBlue// Color de fondo del área cliente#define CONTROLS_DIALOG_COLOR_CLIENT_BORDER C'0xC8,0xC8,0xC8'// Color del área cliente// Ahora conecte#include <Controls\Dialog.mqh>
¿Puedes darme un ejemplo simple de como CWndContainer debería ser retorcido para mostrar al menos algún cuadrado en la pantalla de chat usando .Show()?
Lo he intentado todo, por ejemplo, así, pero ni error, ni imagen, ni rastro de .Show() funcionando.
¿Por qué CWndContainer? ¿Qué debería obtener al final?
//+------------------------------------------------------------------+//| Hace visible el grupo de controles ||//+------------------------------------------------------------------+bool CWndContainer::Show(void)
{
//--- bucle por elementos del grupoint total=m_controls.Total();
for(int i=0;i<total;i++)
{
CWnd *control=Control(i);
//--- comprobación del punteroif(control==NULL)
continue;
control.Show();
}
//--- llamada al método de la clase padrereturn(CWnd::Show());
}
¿Qué pasa si tengo un objeto Button y no tiene un método .Show().
Karputov Vladimir: ¿Por qué CWndContainer? ¿Qué deberíamos obtener al final?
Un panel con botones de Compra - Venta y algunas notificaciones más sobre el estado del Asesor Experto. Pero debería ser arrastrado en la pantalla con el ratón, pero el botón no se arrastra.
Evgeny Potapov: Un panel con botones de Compra - Venta y algunas notificaciones más sobre el estado del Asesor Experto. Pero se debe arrastrar en la pantalla con el ratón, pero el botón no se arrastra.
Después de crear un objeto (botón, lista, campo de texto, etc.) este objeto debe ser añadido al panel (método Add). Entonces, al arrastrar el panel, todos los objetos se moverán junto con el panel.
Karputov Vladimir: Después de crear un objeto (botón, lista, campo de texto, etc.) este objeto debe añadirse al panel (método Añadir). Entonces al arrastrar el panel, todos los objetos se moverán junto con el panel.
Karputov Vladimir: Después de crear un objeto (botón, lista, campo de texto, etc.) este objeto debe añadirse al panel (método Añadir). Entonces, al arrastrar el panel, todos los objetos se moverán junto con el panel.
Usando el archivo PanelDialog2.mqh del artículo como ejemplo:
//+------------------------------------------------------------------+//|PanelDialog2.mqh//| Copyright 2015, MetaQuotes Software Corp.//| http://www.mql5.com//+------------------------------------------------------------------+#include <Controls\Dialog.mqh>#include <Controls\CheckGroup.mqh>
#include <Controls\Label.mqh>
#include <Controls\Edit.mqh>
#include <Controls\Button.mqh>
//+------------------------------------------------------------------+//| define|//+------------------------------------------------------------------+//--- sangrías y espacios#define INDENT_LEFT (11) // sangría desde la izquierda (teniendo en cuenta la anchura del borde)#define INDENT_TOP (11) // sangría desde arriba (teniendo en cuenta la anchura del borde)#define INDENT_RIGHT (11) // sangría desde la derecha (teniendo en cuenta la anchura del borde)#define INDENT_BOTTOM
Este archivo crea los elementos para un panel de diálogo. El signo del panel es la clase CDialog.
Clase CDialog
La clase CDialog es una clase del control combinado Dialog.
Descripción
La clase CDialog está diseñada para combinar visualmente un grupo de elementos heterogéneos funcionalmente relacionados.
Bueno, eso es lo que hice, nada funciona. El panel sigue blanco como antes.
El compilador dice Macro redifinition, es decir, como overdivided....
Usa mi primer consejo, simplemente reemplaza los colores en el archivo original y recompila el EA.
Para recordar como redefiní los colores en mi panel, tengo que rebuscar, pero ahora no tengo tiempo.
Por Historia:
Foro sobre trading, sistemas automatizados de trading y prueba de estrategias de trading
Por qué el panel se aleja al actualizar la configuración del Asesor Experto?
Andrey Khatimlianskii, 2016.03.10 13:17
Aproximadamente así:
¿Puedes darme un ejemplo simple de cómo CWndContainer debe ser retorcido para mostrar al menos algún cuadrado en la pantalla de chat usando .Show()?
Lo he intentado todo, por ejemplo, así, pero ni error, ni imagen, ni rastro de .Show() funcionando
¿Puedes darme un ejemplo simple de como CWndContainer debería ser retorcido para mostrar al menos algún cuadrado en la pantalla de chat usando .Show()?
Lo he intentado todo, por ejemplo, así, pero ni error, ni imagen, ni rastro de .Show() funcionando.
No entiendo la lógica aquí:
¿Qué pasa si tengo un objeto Button y no tiene un método .Show().
¿No puede estar contenido en un contenedor?
¿Por qué CWndContainer? ¿Qué deberíamos obtener al final?
Un panel con botones de Compra - Venta y algunas notificaciones más sobre el estado del Asesor Experto. Pero se debe arrastrar en la pantalla con el ratón, pero el botón no se arrastra.
Después de crear un objeto (botón, lista, campo de texto, etc.) este objeto debe añadirse al panel (método Añadir). Entonces al arrastrar el panel, todos los objetos se moverán junto con el panel.
¿Así?
Después de crear un objeto (botón, lista, campo de texto, etc.) este objeto debe añadirse al panel (método Añadir). Entonces, al arrastrar el panel, todos los objetos se moverán junto con el panel.
¿O esto no es "añadir al panel"?
¿Entonces un contenedor no es un panel?
¿O no es "añadir a un panel"?
¿Entonces un contenedor no es un panel?
Usando el archivo PanelDialog2.mqh del artículo como ejemplo:
Este archivo crea los elementos para un panel de diálogo. El signo del panel es la clase CDialog.
La clase CDialog es una clase del control combinado Dialog.
Descripción
La clase CDialog está diseñada para combinar visualmente un grupo de elementos heterogéneos funcionalmente relacionados.