Discusión sobre el artículo "Controles gráficos personalizados. Parte 1: Creando un control simple"

 

Artículo publicado Controles gráficos personalizados. Parte 1: Creando un control simple:

Este artículo trata los principios generales del desarrollo de controles gráficos. Vamos a preparar herramientas para un trabajo rápido y adecuado con objetos gráficos, analizar un ejemplo de creación de un control simple para introducir texto o datos numéricos, así como las distintas formas de usarlo.

Autor: Dmitry Fedoseev

 
Me pregunto qué habrá planeado para la segunda parte.
 
sergeev:

Me pregunto qué está previsto para la segunda parte.
En la segunda parte, una biblioteca de controles estándar (más de 10 elementos: checkbox, combo box, scrollbars, list, radio buttons, etc.), en la tercera parte - creación de formularios con controles.
 

¿Cambiará la ideología? ...realmente necesito que cambie.

Tal vez deberíamos empezar con la tercera parte - la creación de formularios con sus controles.

y luego pasar a la siguiente parte - al funcionamiento interno de cada elemento.

Es decir, primero educar a los usuarios sobre cómo funciona el complejo en su conjunto, cómo el elemento hijo intercambia mensajes y eventos con el elemento padre, cómo funciona la ideología en general. Esto es importante, porque es deseable pasar de lo general a lo particular, - a las sutilezas de cada elemento específico.

Y por cierto - usted no debe hacer hincapié en el dibujo, es decir, cómo se dibuja cada elemento (puede hacerlo brevemente, pero tiene todos los elementos dibujados por la función Mostrar, por lo que los usuarios sabrán dónde mirar en cada clase para ver el bloque de dibujo). El dibujo es realmente nada comparado con la ideología de todo el proceso.

Sería mejor mostrar algunos ejemplos listos de formas en las que todos los elementos están vinculados.

Es decir, sobre un ejemplo listo, desglosar los detalles.

 
sergeev:

¿Cambiará la ideología? ...Realmente necesito que cambie.

Tal vez deberíamos haber comenzado con la tercera parte, la creación de los moldes.

y luego pasar gradualmente al funcionamiento interno de cada elemento.

¿Qué es exactamente la ideoligía?

Una forma no es básicamente nada: coordenadas x e y.

Si empezaras con un formulario, qué escribirías ahí - "esto es un formulario, y aquí añadirás un elemento de control, y aquí procesarás su evento...", pero qué tipo de elemento de control es, qué representa - nadie lo sabe.

Si usted hace una forma en la segunda parte, mientras que sólo tenemos un elemento de control - no es indicativo y no es hermoso.

 
Integer:

¿Qué es exactamente la ideoligía?

La forma no es esencialmente nada: coordenadas x e y.

Ampliado en la respuesta justo arriba.

Tienes razón. Esa es la cuestión, la forma no es nada. Lo que importa es el proceso de intercambio de acontecimientos y la interacción de todos los elementos en su conjunto. Y esto sólo se puede explicar cuando se demuestra el trabajo del sistema en su conjunto, no elemento por elemento.

 
Integer:

Si usted hace una forma en la segunda parte, mientras que sólo tenemos un elemento de control - no es indicativo y no es hermoso.
Ya tiene la forma y la clase de control listo?
 
sergeev:

Ampliación de la respuesta anterior.

Tienes razón. Esa es la cuestión, la forma no es nada. Lo principal es el proceso de intercambio de eventos y la interacción de todos los elementos en su conjunto.

Habrá un botón de Aceptar y Cancelar en el formulario, guardado de datos en caso de que se reinicie el terminal. Habrá manejo de eventos, la posibilidad de arrastrar el formulario, minimizarlo.
 
sergeev:
¿Tienes listos el formulario y la clase de control?

Bastante listos. Al principio lo hice sin subventanas, ahora estoy rediseñando todo para que funcione en subventanas.

 
sergeev:

¿Cambiará la ideología? ...realmente necesito que cambie.

Tal vez deberíamos haber comenzado con la tercera parte - la creación de formas con sus controles.

y luego pasar a la siguiente parte - al funcionamiento interno de cada elemento.

Es decir, primero educar a los usuarios sobre cómo funciona el complejo en su conjunto, cómo se intercambian mensajes y eventos entre el elemento hijo y el elemento padre, cómo funciona la ideología en general. Esto es importante, porque es deseable pasar de lo general a lo particular, - a las sutilezas de cada elemento específico.

Y por cierto - no se debe hacer hincapié en la representación, es decir, cómo se dibuja cada elemento. Es mejor mostrar algunos ejemplos de cómo funcionan las formas y cómo se conectan todos los elementos. En realidad, dibujar no es nada comparado con la ideología de todo el proceso.


No me digas, ya hay suficientes ejemplos de creación de códigos simples, pero no puedes crear una jerarquía de clases exitosa o al menos un esquema fácil de implementar de un producto universal y fácilmente transformable. Incluso las clases estándar de MQ a menudo complican la escritura de programas al establecer posibilidades de antemano.

 
Integer:
Habrá un botón de Aceptar y Cancelar en el formulario, guardando los datos en caso de que se reinicie el terminal. Habrá manejo de eventos, la capacidad de arrastrar el formulario, minimizar.

OK. Esto está muy bien.

Si hablas de funciones de alto nivel en la segunda parte, los componentes del artículo se utilizarán más rápido.
Yo empezaría con formulario + botones (+ inputbox) y sólo en la tercera parte hablaría de componentes de control específicos - listas, menús, etc.

Después de todo, la tarea es enseñar a escribir dichos controles. Pero mientras no haya un formulario donde insertarlos, el artículo no dará un efecto tan espectacular y necesario.
Además, en cuanto des Form+Button (me refiero a 3 tipos - radio, push, check) + EditBox ya en el segundo artículo, el usuario verá las clases como un todo y podrá crear sus propios controles independientemente.