Discusión sobre el artículo "Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)" - página 8
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por cierto, hay un problema:
La cadena resaltada no permite trabajar en el tester.No he probado en el probador en absoluto todavía, ya que había un montón de restricciones allí antes. Así que temporalmente hasta ahora.
¿Has intentado ya probar la GUI en el tester? ¿Cuál es el resultado? ¿Funcionan los eventos? ¿Se muestran todos los objetos gráficos?
Todavía no he hecho ninguna prueba en el probador, ya que antes había muchas restricciones. Por eso está temporalmente así por ahora.
¿Has probado ya la GUI en el tester? ¿Cuál es el resultado? ¿Funcionan los eventos? ¿Se muestran todos los objetos gráficos?
Sí, todos los objetos se muestran, los eventos del ratón en los gráficos no funcionan en el tester, pero así toda la interfaz está viva, y en realidad era así antes
En general, probablemente dejaré el temporizador incorporado por ahora, para no editar la librería ))
No puedo averiguar cómo hacer que el formulario se creó un cierto tamaño en X y se unió a la frontera derecha de la tabla, es decir, cuando se cambia el tamaño de la tabla en X, la forma no cambiaría el tamaño se movería a la derecha / izquierda sin cambiar su tamaño.
Como una opción para anular el método ChartEventChartChange en la clase CWndEvents, este método se encuentra en la sección privada, tal vez tenga sentido para mover los métodos:
Mover a la sección protegida, pero de nuevo, los métodos de la sección privada también se utilizan allí? En general, si alguien se ha encontrado con un problema de este tipo, por favor, sugiera una solución
No puedo averiguar cómo hacer que el formulario se creó un cierto tamaño en X y se unió a la frontera derecha de la tabla, es decir, cuando se cambia el tamaño de la tabla en X, la forma no cambiaría el tamaño se movería a la derecha / izquierda sin cambiar su tamaño.
Como una opción para anular el método ChartEventChartChange en la clase CWndEvents, este método se encuentra en la sección privada, tal vez tenga sentido para mover los métodos:
Mover a la sección protegida, pero de nuevo, los métodos de la sección privada también se utilizan allí? En general, si alguien se ha encontrado con un problema de este tipo, por favor, sugiera una solución
Aproximadamente así:
//---
En el manejador de eventos de la clase de usuario MQL-application al procesar el evento CHARTEVENT_CHART_CHANGE:
//---
Resultado:
//---
También puede añadir una comprobación si el tamaño (anchura) de la ventana del gráfico ha cambiado, ya que el evento CHARTEVENT_CHART_CHANGE se genera en diferentes casos. Por ejemplo, cuando se desplaza el gráfico.
Es algo así:
//---
En el manejador de eventos de una clase de aplicación MQL personalizada cuando se procesa un evento CHARTEVENT_CHART_CHANGE:
//---
Resultado:
//---
También puede añadir una comprobación si el tamaño (anchura) de la ventana del gráfico ha cambiado, ya que el evento CHARTEVENT_CHART_CHANGE se genera en diferentes casos. Por ejemplo, al desplazar el gráfico.
oops, funcionó ))
¿Cómo obtener en la tabla el índice de la fila sobre la que se ha pulsado el botón izquierdo del ratón, si al crear la tabla se ha establecido SelectableRow(false)? Analizando el parámetro sparam en OnEvent no parece elegante. Por supuesto es posible usar SelectableRow(true) y usar SelectedItem(), pero la tarea es sin seleccionar filas en la tabla.
¿Cómo obtener en la tabla el índice de la fila sobre la que se ha pulsado el botón izquierdo del ratón, si al crear la tabla se ha establecido SelectableRow(false)? Parsear el parámetro sparam en OnEvent no parece elegante. Por supuesto, podemos usar SelectableRow(true) y usar SelectedItem(), pero la tarea es sin seleccionar filas en la tabla.
¿Cómo diferenciar entre el evento de seleccionar una fila en una tabla y seleccionar un elemento en un cuadro combinado? Del código se desprende que utilizan el mismo evento ON_CLICK_LIST_ITEM.
Muestro una tabla en un formulario, selecciono una fila en ella, selecciono un valor en un cuadro combinado y los datos de la fila de la tabla y el valor del cuadro combinado deberían escribirse en una entidad separada. Ahora los eventos no están delimitados y es necesario hacer muletillas que realicen la tarea:
¿quizás puedas sugerir algún otro mecanismo?
Básicamente, la tabla es un array de pares de tickers, el combo-box contiene tipos de señales, una entidad separada son los objetos del array de señales. Los objetos en sí no son un solo campo, sino tipos de datos personalizados complejos, un par de tickers de la tabla y un tipo de señal se registran en ellos, y luego se realiza otro procesamiento.