Red de conocimiento informático - Conocimiento informático - ¿Cuántos pasos suele tomar la programación de un cuadro de diálogo?

¿Cuántos pasos suele tomar la programación de un cuadro de diálogo?

1. Dibuje un cuadro de diálogo en el editor de recursos, agregue controles y establezca la posición del control, el tamaño, la ID y otras propiedades.

2. agregar controles Función de manejo de eventos;

3. Registrar función del cuadro de diálogo.

Información ampliada

Creación de cuadros de diálogo modales y no modales:

1. Creación de cuadros de diálogo modales: Puede utilizar la función Domodal() para. Implementación, viene con la función de mostrar el cuadro de diálogo modal. En el momento de la generación, el programa suspenderá la ejecución y el cuadro de diálogo modal se cerrará mediante la función Enddialog (). En este momento, la ventana de diálogo se destruirá.

2. Creación de un cuadro de diálogo no modal: se puede lograr mediante la función Create(), pero como no tiene funciones prácticas propias, también es necesario llamar a Showwindow(). función para mostrarlo. Pero si simplemente define una variable local en la clase de diálogo, el cuadro de diálogo aún no se mostrará, porque la variable local finaliza su ciclo de vida tan pronto como se ejecuta el programa. La solución específica: definir una variable miembro o definir un puntero. al puntero de memoria del montón porque es consistente con el ciclo de vida del programa, pero la desventaja es que la memoria se perderá una vez finalizado el ciclo de vida.

Cuando hace clic en Aceptar o Cancelar en un cuadro de diálogo que no es un módulo, no se destruye, sino que se oculta. Se implementa mediante la función onok() en la clase base y, de forma predeterminada, onok(). llama a la función miembro Enddialog(), que no puede destruir el cuadro de diálogo que no es del módulo. Debe sobrescribir onok() y llamar a su función interna DestroyWindow() para lograrlo.

3. Dado que el funcionamiento de los cuadros de diálogo no modulares es más complicado, se utilizan más cuadros de diálogo modulares.