¿Cómo crear controles dinámicos MFC y manejar mapas de mensajes de los controles en tiempo de ejecución?¿Cómo crear controles en tiempo de ejecución?
Respuesta
Realmente depende de qué controles desea crear, especialmente si desea saber qué banderas debe establecer. En general, esto se reduce a esto:
Normalmente, se crea un control derivado de CWnd utilizando Create
o CreateEx
. Para una CButton, por ejemplo:
CButton button;
button.Create("Button text", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | DT_CENTER, CRect(5, 5, 55, 19), this, nID);
donde el CRect
especifica la posición del botón, this
es un puntero a la ventana padre, y nID
es el ID de control.
Si el control no sale como se esperaba, es probable que se deba a que faltan algunos indicadores. Le sugiero que dibuje un control de muestra en modo de diseño, revise el código para ese control en el archivo RC y copie los indicadores en el llamador Create
.
En cuanto a los mapas de mensajes, normalmente se enrutan a la ventana principal. El valor nID
que utilizó en Create
es importante aquí, porque será el número que identifique el control en el mapa de mensajes. Si tiene un número fijo de controles, puede codificar los números nID
para sus controles (comenzando en 10000, por ejemplo); de lo contrario, deberá proporcionar una forma para que la ventana principal los identifique. Luego, solo agrega las entradas del mapa de mensajes.
ON_BN_CLICKED(10000, OnBnClicked)
ON_CONTROL_RANGE(BN_CLICKED, 10010, 10020, OnBtnsClicked)
Usted puede utilizar el mapa ON_CONTROL_RANGE
mensaje para asignar un intervalo de identificadores para la misma función.
- 1. Controles de redimensionamiento En tiempo de ejecución
- 2. Controles de medición creados en tiempo de ejecución en WPF
- 3. crear Tframes en tiempo de ejecución:
- 4. Crear XmlRpcUrl interfaz en tiempo de ejecución
- 5. La mejor práctica para agregar controles en tiempo de ejecución
- 6. Crear plantillas T4 en tiempo de ejecución (tiempo de compilación)?
- 7. Crear tablas dinámicamente en tiempo de ejecución
- 8. ¿Cómo crear dinámicamente métodos de instancia en tiempo de ejecución?
- 9. ¿Cómo crear varios botones en tiempo de ejecución? + android
- 10. Android cómo crear una miniatura en tiempo de ejecución
- 11. Clojure: Cómo crear una función en tiempo de ejecución
- 12. ¿Cómo cambiar CurrentCulture en tiempo de ejecución?
- 13. ¿Cómo puede mover controles ASP.Net a diferentes lugares en el formulario web en tiempo de ejecución?
- 14. Cómo agregar eventos a los controles creados en tiempo de ejecución en Excel con VBA
- 15. Crear tipo genérico con interfaz genérica en tiempo de ejecución
- 16. Crear tipo de delegado en tiempo de ejecución
- 17. ¿Cómo puedo crear controles WPF en un hilo de fondo?
- 18. ¿Cómo puedo crear controles personalizados en Android?
- 19. Tiempo de ejecución en Ocaml
- 20. ¿Cómo cambiar AndroidManifest en tiempo de ejecución?
- 21. Crear lista de controles en Windows.Forms
- 22. Crear una clase durante el tiempo de ejecución
- 23. BigO tiempo de ejecución en algunos métodos
- 24. Tiempo promedio de ejecución
- 25. Cambio de menú en tiempo de ejecución
- 26. Cargando XAML en tiempo de ejecución?
- 27. Localización en tiempo de ejecución
- 28. Three.js - cambio material en tiempo de ejecución
- 29. Cómo crear un rectángulo redondeado en tiempo de ejecución en Windows Forms con VB.NET/C#?
- 30. cómo crear una clase dinámica en tiempo de ejecución en Java