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
Sugiero añadir el estado de los botones del ratón. No afectará a la velocidad, pero puede ser útil )
Sugiero añadir el estado de los botones del ratón. No afectará a la velocidad, pero puede ser útil )
No puedo estar de acuerdo, ya que no le veo mucho sentido.
La cuestión es que el estado de los botones y teclas del ratón es un modelo de evento, que debe ser procesado sólo donde se captura la ocurrencia de este evento, es decir, en OnChartEvent.
Usted no va a limitar un bucle infinito de sondeo de la ocurrencia de algún evento fuera del controlador de eventos. Entonces, ¿cuál es el punto de poner este estado fuera de OnChartEvent, cuando todo el procesamiento de estos clics se debe hacer en OnChartEvent, cuyo estado está en lparam y sparam.
Excepto con el propósito de introducir una nueva estructura de identificadores de eventos de ratón para mejorar la legibilidad del código.
No puedo estar de acuerdo ya que no le veo mucho sentido.
El punto es que el estado de los botones y teclas del ratón es un modelo de evento, que debe ser manejado sólo donde la ocurrencia de este evento es capturado, a saber, en OnChartEvent.
Usted no va a limitar un bucle infinito de sondeo de la ocurrencia de algún evento fuera del controlador de eventos. Entonces, ¿cuál es el punto de poner este estado fuera de OnChartEvent, cuando todo el procesamiento de estos clics se debe hacer en OnChartEvent, cuyo estado está en lparam y sparam.
Excepto con el propósito de introducir una nueva estructura de identificadores de eventos de ratón para mejorar la legibilidad del código.
¿Y por qué almacenar las coordenadas del ratón entonces? ) También dirigido por eventos )
No entendí lo del bucle...
En particular, necesitaba el estado para evitar dibujar una parte del objeto al arrastrar con el ratón.
¿Por qué almacenar entonces las coordenadas del ratón? ) También dirigido por eventos )
Las coordenadas del ratón son un asunto diferente. Las coordenadas actuales del ratón no son información de evento. El evento es su cambio.
Puede haber ocasiones en las que las coordenadas del ratón sean necesarias fuera de OnChartEvent. Por ejemplo, aquí.
No entendí lo del bucle...
En concreto, el estado era necesario para evitar dibujar una parte del objeto al arrastrar con el ratón.
Pues bien, al arrastrar el ratón, la orden de redibujar parte del objeto se llama desde OnChartEvent en el momento en que cambia la coordenada del ratón y mientras el ratón está pulsado, y OnChartEvent tiene este estado, ¿por qué incrustarlo en la estructura Window?
Si hicieras lo mismo no desde OnChartEvent, y al mismo tiempo en la instancia W de la estructura Window estuviera MouseStatus, tendrías que organizar un bucle infinito de sondeo de este parámetro (MouseStatus) para captar el momento de soltar el botón del ratón, lo que colgaría la CPU.
Este bucle no es necesario sólo en OnChartEvent.
Sólo quiero decir que es posible y necesario utilizar el estado del botón sólo desde OnChartEvent, que ya lo tiene.
Si estoy equivocado, por favor dame un ejemplo concreto en el que este estado sería necesario no desde OnChartEvent.
Si me equivoco, por favor proporcione un ejemplo concreto en el que este estado se solicite desde algo distinto de OnChartEvent.
Escribí un ejemplo arriba, todo funciona bien )
En OnChartEvent al mover el ratón cambiamos los parámetros y damos la orden de redibujar el lienzo. Sin un parámetro en la estructura tendríamos que pasar sparam a un objeto, de ahí a otro objeto, y de ahí al método Draw().
Las coordenadas del ratón son un asunto diferente. Las coordenadas actuales del ratón no son información del evento. El evento es su cambio.
Puede haber ocasiones en las que las coordenadas del ratón sean necesarias fuera de OnChartEvent. Por ejemplo, aquí.
Pues bien, al arrastrar el ratón, la orden de redibujar parte del objeto se llama desde OnChartEvent en el momento en que cambia la coordenada del ratón y mientras el botón del ratón está pulsado, y OnChartEvent tiene este estado, ¿por qué incrustarlo en la estructura Window?
Si hicieras lo mismo no desde OnChartEvent, y al mismo tiempo en la instancia W de la estructura Window estuviera MouseStatus, tendrías que organizar un bucle infinito de sondeo de este parámetro (MouseStatus) para captar el momento de soltar el botón del ratón, lo que colgaría la CPU.
Este bucle no es necesario sólo en OnChartEvent.
Sólo quiero decir que puedes y debes usar el estado del botón sólo desde OnChartEvent, que ya lo tiene.
Si estoy equivocado, entonces dame un ejemplo concreto en el que este estado sería necesario no desde OnChartEvent.
Muy extraño razonamiento. No hay ninguna lógica.
Tanto las coordenadas del ratón como las teclas pulsadas son estados externos. Se pasa a través de parámetros al manejador, donde si se pone en las variables internas del objeto (lo cual es ciertamente útil), debería estar allí como un todo, no por partes. Una biblioteca es, por definición, algo que se hace no para las necesidades propias, sino de forma generalizada, teniendo en cuenta las posibles necesidades de los demás. No se pueden conocer todas las necesidades de antemano, así que no se hacen restricciones artificiales como ésta.
Escribí un ejemplo arriba, todo funciona bien )
En OnChartEvent al mover el ratón cambiamos los parámetros y damos la orden de redibujar el lienzo. Sin un parámetro en la estructura tendríamos que pasar sparam a un objeto, de ahí a otro objeto, y de ahí al método Draw().
Esto es un clásico del género - en todas las librerías de ventanas, los estados de los botones del ratón se pasan en una única estructura con las coordenadas del cursor.
porque todos juntos describen una entidad y no pueden estar separados en absoluto.
actualizado a la versión 1.29
nuevo:
1. añadido las siguientes definiciones para simplificar la escritura de código y mejorar la legibilidad:
2. añadido el parámetro MouseStatus a la estructura Window, que puede tomar 4 valores, según lo solicitado por los trabajadores: