Adjuntamos un panel basado en el ejemplo de SB. He limpiado el código para dejar sólo lo relevante a la pregunta, se adjunta el código fuente.
¿Puedes decirme cómo colorear la cabecera y la zona principal, en la que enganchamos los elementos? Parece que estos objetos están en la clase padre Dialog,
private:
//--- dependent controls
CPanel m_white_border; // the "white border" object
CPanel m_background; // the background object
CEdit m_caption; // the window title object
CBmpButton m_button_close; // the "Close" button object
CWndClient m_client_area; // the client area object
Y tienen los métodos correspondientes
Pero, ¿cómo puedo llegar a los campos privados correctamente?
Adjuntamos un panel basado en el ejemplo de SB. He limpiado el código para dejar sólo lo relevante a la pregunta, se adjunta el código fuente.
¿Puedes decirme cómo colorear la cabecera y la zona principal, en la que enganchamos los elementos? Parece que estos objetos están en la clase padre Dialog,
Y tienen los métodos correspondientes
Pero, ¿cómo puedo llegar a los campos privados correctamente?
Tiene una lista de métodos para acceder a estos campos en la imagen. ¿Los métodos son públicos?
Artyom Trishkin: Tiene una lista de métodos de acceso a estos campos en la imagen. ¿Los métodos son públicos?
Hay un método público CDialog::CreateCaption(), CreateClientArea(). Los paneles se crean allí y sus colores se establecen a través de CONTROLS_DIALOG_COLOR_BG y CONTROLS_DIALOG_COLOR_CLIENT_BG.
He intentado anular estas variables en mi clase a través de undef y definirlas de nuevo. Y luego ejecuta los métodos Create... de nuevo, pero como los objetos ya han sido creados se devuelve un error 4200 - el objeto ya existe.
Hay un método público CDialog::CreateCaption(), CreateClientArea(). Los paneles se crean allí y sus colores se establecen a través de CONTROLS_DIALOG_COLOR_BG y CONTROLS_DIALOG_COLOR_CLIENT_BG.
He intentado anular estas variables en mi clase a través de undef y definirlas de nuevo. Y luego ejecuta los métodos Create... de nuevo, pero como los objetos ya han sido creados se devuelve un error 4200 - el objeto ya existe.
Añadido:
El error 4200 es cuando lo comprobé en MT4.
Sinceramente, nunca he utilizado estos recursos de SB. Pero qué le impide mirar en SB dónde, con qué métodos, se fijan los colores. Lo que mostró en el listado:
private:
//--- dependent controls
CPanel m_white_border; // the "white border" object
CPanel m_background; // the background object
CEdit m_caption; // the window title object
CBmpButton m_button_close; // the "Close" button object
CWndClient m_client_area; // the client area object
- son nombres de objetos - clases CPanel, CEdit, CBmpButton y CWndClient.
Y necesitas encontrar los nombres de los miembros de estas clases donde se almacenan los colores y usar qué métodos pueden ser inicializados o cambiados.
Y probablemente tendrás que inicializarlos primero y luego construir el objeto mismo.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Gracias, creo que lo tengo.
¿Y cómo se ejecuta el depurador en los datos históricos?
Feliz de ayudar.
La depuración sólo es posible en el historial en MT5.
Feliz de ayudar.
La depuración sólo es posible en el historial en MT5.
Tengo entendido que MT5 tiene un lenguaje de programación diferente. ¿Mi código no funcionará allí?
Tengo entendido que MT5 tiene un lenguaje de programación diferente. ¿Mi código no funcionará allí?
Adjuntamos un panel basado en el ejemplo de SB. He limpiado el código para dejar sólo lo relevante a la pregunta, se adjunta el código fuente.
¿Puedes decirme cómo colorear la cabecera y la zona principal, en la que enganchamos los elementos?
Parece que estos objetos están en la clase padre Dialog,
Y tienen los métodos correspondientes
Pero, ¿cómo puedo llegar a los campos privados correctamente?
Adjuntamos un panel basado en el ejemplo de SB. He limpiado el código para dejar sólo lo relevante a la pregunta, se adjunta el código fuente.
¿Puedes decirme cómo colorear la cabecera y la zona principal, en la que enganchamos los elementos?
Parece que estos objetos están en la clase padre Dialog,
Y tienen los métodos correspondientes
Pero, ¿cómo puedo llegar a los campos privados correctamente?
Tiene una lista de métodos para acceder a estos campos en la imagen. ¿Los métodos son públicos?
No. Lo escribí en CDialog en el constructor, lo capturé y luego lo volví a poner
Tiene una lista de métodos de acceso a estos campos en la imagen. ¿Los métodos son públicos?
Hay un método público CDialog::CreateCaption(), CreateClientArea(). Los paneles se crean allí y sus colores se establecen a través de CONTROLS_DIALOG_COLOR_BG y CONTROLS_DIALOG_COLOR_CLIENT_BG.
He intentado anular estas variables en mi clase a través de undef y definirlas de nuevo. Y luego ejecuta los métodos Create... de nuevo, pero como los objetos ya han sido creados se devuelve un error 4200 - el objeto ya existe.
Añadido:
El error 4200 es cuando lo comprobé en MT4.
Hay un método público CDialog::CreateCaption(), CreateClientArea(). Los paneles se crean allí y sus colores se establecen a través de CONTROLS_DIALOG_COLOR_BG y CONTROLS_DIALOG_COLOR_CLIENT_BG.
He intentado anular estas variables en mi clase a través de undef y definirlas de nuevo. Y luego ejecuta los métodos Create... de nuevo, pero como los objetos ya han sido creados se devuelve un error 4200 - el objeto ya existe.
Añadido:
El error 4200 es cuando lo comprobé en MT4.
Sinceramente, nunca he utilizado estos recursos de SB. Pero qué le impide mirar en SB dónde, con qué métodos, se fijan los colores. Lo que mostró en el listado:
- son nombres de objetos - clases CPanel, CEdit, CBmpButton y CWndClient.
Y necesitas encontrar los nombres de los miembros de estas clases donde se almacenan los colores y usar qué métodos pueden ser inicializados o cambiados.
Y probablemente tendrás que inicializarlos primero y luego construir el objeto mismo.
¡Hola!
Al compilar da"undeclared identifier" (identificador no declarado)
Busqué y busqué, pero no entendí qué debía hacer para solucionar el error
¡Ayuda, por favor!