Cómo agregar, editar o eliminar controles (C++)

Con el Editor de cuadros de diálogo, puede agregar, cambiar el tamaño, editar y eliminar controles en los cuadros de diálogo. También puede editar las propiedades de un control, como su id., o si está visible inicialmente en tiempo de ejecución.

La pestaña Editor de cuadros de diálogo aparece en la Ventana del cuadro de herramientas cuando trabaja en el Editor de cuadros de diálogo. También puede personalizar la ventana del Cuadro de herramientas para facilitar su uso. Para obtener más información, consulte Usar el cuadro de herramientas y Mostrar u ocultar la ventana Cuadro de herramientas.

Sugerencia

Cuando se trabaja con el Editor de cuadros de diálogo, es posible en muchos casos hacer clic con el botón secundario del mouse para abrir un menú contextual de comandos de uso frecuente.

para agregar controles

Para agregar un control

  1. Asegúrese de que la ventana con pestañas de cuadro de diálogo sea el documento actual en el marco del editor. Si un cuadro de diálogo no es el documento actual, no verá la pestaña Editor de cuadros de diálogo en el Cuadro de herramientas.

  2. En la pestaña Editor de cuadros de diálogo de la ventana Cuadro de herramientas, seleccione el control que desee y luego:

    • Seleccione el cuadro de diálogo en la ubicación donde desea colocar el control y el control aparecerá donde ha seleccionado.

    • Arrastre y coloque el control desde la ventana de Cuadro de herramientas hasta la ubicación deseada en el cuadro de diálogo. Después, puede mover el control o cambiar su tamaño y su forma.

    • Haga doble clic en el control de la ventana Cuadro de herramientas y aparecerá en el cuadro de diálogo. Cambie la posición del control a la ubicación que prefiera.

Para agregar varios controles

  1. Mientras mantiene presionada la tecla Ctrl, seleccione un control en la ventana Cuadro de herramientas.

  2. Suelte la tecla Ctrl y seleccione el cuadro de diálogo tantas veces como desee agregar el control determinado.

  3. Presione Esc para detener la colocación de controles.

Para ajustar el tamaño de un control mientras lo agrega

  1. Seleccione un control en la ventana Cuadro de herramientas.

  2. Coloque el cursor que aparece como selección precisa, donde desea que la esquina superior izquierda del nuevo control esté en el cuadro de diálogo.

  3. Seleccione y mantenga presionado el botón del mouse para anclar la esquina superior izquierda del control en el cuadro de diálogo. A continuación, arrastre el cursor a la derecha y hacia abajo hasta que el control tenga el tamaño que desee.

    Nota:

    Puede anclar cualquiera de las cuatro esquinas del control que está dibujando. Este procedimiento usó la esquina superior izquierda como ejemplo.

  4. Suelte el botón del mouse (ratón). El control se establece en el cuadro de diálogo con el tamaño especificado.

Sugerencia

Puede cambiar el tamaño del control después de colocarlo en el cuadro de diálogo moviendo los controladores de tamaño en el borde del control. Para obtener más información, consulte Cambiar el tamaño de los controles individuales.

Para agregar un control personalizado

Puede agregar controles personalizados al cuadro de diálogo. Seleccione el icono Control personalizado del Cuadro de herramientas y arrástrelo al cuadro de diálogo. Para agregar un control Syslink, agregue un control personalizado y luego cambie la propiedad Class del control a Syslink. Esta acción hará que se actualicen las propiedades y que se muestren las propiedades del control Syslink. Para obtener información sobre la clase contenedora de MFC, consulte CLinkCtrl.

Editar controles

Para editar las propiedades de un control o de varios controles

  1. En el cuadro de diálogo, seleccione el control que desea modificar.

    Nota:

    Si selecciona varios controles, solo se pueden editar las propiedades comunes a los controles seleccionados.

  2. En la ventana Propiedades, cambie las propiedades del control.

    Nota:

    Al establecer la propiedad Mapa de bits para un botón, un botón de radio o un control de casilla igual a True, el estilo BS_BITMAP se implementa para el control. Para más información, consulte Estilos de botón. Para obtener un ejemplo de asociación de un mapa de bits con un control, consulte CButton::SetBitmap. Los mapas de bits no aparecerán en el control mientras se encuentra en el Editor de cuadros de diálogo.

Para deshacer los cambios en las propiedades de un control

  1. Asegúrese de que el control tiene el foco en el Editor de cuadros de diálogo.

  2. Vaya al menú Editar>Deshacer. Si el foco no está en el control, el comando Deshacer no estará disponible.

Para definir una variable miembro para un control de cuadro de diálogo (que no sea un botón)

Nota:

Este proceso se aplica solo a los controles de cuadro de diálogo de un proyecto MFC. Los proyectos ATL deben usar el cuadro de diálogo Nuevos mensajes de Windows y controladores de eventos. Para obtener más información, consulte Tipos de mensajes asociados a objetos de interfaz de usuario, Edición de un controlador de mensajes y Definición de un controlador de mensajes para un mensaje reflejado.

  1. Seleccione un control en el Editor de cuadros de diálogo.

  2. Mientras presiona la tecla Ctrl, haga doble clic en el control de cuadro de diálogo.

    Aparecerá el Asistente para agregar variables miembro.

  3. Escriba la información correspondiente en el asistente Agregar variable miembro. Para obtener más información, consulte Intercambio de datos de cuadro de diálogo.

  4. Haga clic en Aceptar para volver al Editor de cuadros de diálogo.

Sugerencia

Para saltar de un control de cuadro de diálogo a su controlador existente, haga doble clic en el control.

También puede utilizar la pestaña Variables miembro en el Asistente para clases MFC para agregar nuevas variables miembro a una clase especificada y ver las variables miembro que ya se han definido.

Eliminar controles

En el cuadro de diálogo, seleccione el control y presione la tecla Eliminar o vaya al menú Editar>Eliminar.

Otras incidencias

Solucionar problemas

Después de agregar un control común o un control de edición enriquecido a un cuadro de diálogo, no aparecerá al probar el cuadro de diálogo. O bien, el propio cuadro de diálogo no aparecerá. Por ejemplo:

  1. Cree un proyecto de Win32 modificando la configuración de la aplicación para crear una aplicación Windows (no una aplicación de consola).

  2. En la Vista de recursos, haga doble clic en el archivo .rc.

  3. En la opción de diálogo, haga doble clic en el cuadro Acerca de.

  4. Agregue un Control de direcciones IP al cuadro de diálogo.

  5. Guarde y Recompile todo.

  6. Ejecute el programa.

  7. En el menú Ayuda del cuadro de diálogo, seleccione el comando Acerca de y observe que no se muestre ningún cuadro de diálogo.

Actualmente, el Editor de diálogos no agrega código automáticamente al proyecto al arrastrar y colocar los siguientes controles comunes o controles de edición enriquecidos en un cuadro de diálogo. Tampoco Visual Studio proporciona un error o una advertencia cuando se produce este problema. Para corregirlo, agregue el código del control manualmente.

Control de animación
Control personalizado
Date Time Picker
Cuadro combinado extendido

Tecla de acceso rápido
IP Address Control
Control de lista
Month Calendar

Control de progreso
Control de edición enriquecido 2.0
Control de edición enriquecido
Control deslizante

Control de botón de número
Control de pestañas
Control de árbol

Para usar controles comunes en un cuadro de diálogo, debe llamar a InitCommonControlsEx o AFXInitCommonControls antes de crear el cuadro de diálogo.

Para usar controles RichEdit, debe llamar a LoadLibrary. Para obtener más información, consulte Acerca de los controles de edición enriquecidos en Windows SDK e Información general sobre el control de edición enriquecido.

Nota:

Para usar un control RichEdit con MFC, primero debe llamar a AfxInitRichEdit2 para cargar el control RichEdit 2.0 (RICHED20.DLL) o llamar a AfxInitRichEdit para cargar el control RichEdit 1.0 anterior (RICHED32.DLL).

Puede usar la clase CRichEditCtrl actual con el control RichEdit 1.0 anterior, pero CRichEditCtrl solo está diseñado para admitir el control RichEdit 2.0. Dado que RichEdit 1.0 y RichEdit 2.0 son similares, la mayoría de los métodos funcionarán. Sin embargo, hay algunas diferencias entre los controles 1.0 y 2.0, por lo que algunos métodos pueden funcionar incorrectamente o no funcionar en absoluto.

Insertar controles ActiveX

Visual Studio le permite insertar controles ActiveX en el cuadro de diálogo. Para obtener más información, consulte Controles ActiveX de MFC y Contenedores de controles ActiveX.

El cuadro de diálogo Insertar control ActiveX le permite insertar controles ActiveX en el cuadro de diálogo mientras usa el Editor de diálogos. Este cuadro de diálogo contiene las siguientes propiedades:

Propiedad Descripción
Control ActiveX Muestra una lista de controles ActiveX.

La inserción de un control desde este cuadro de diálogo no genera una clase contenedora. Si necesita una clase contenedora, use la Vista de clases; para crear una, consulte Agregar una clase.

Si un control ActiveX no aparece en este cuadro de diálogo, intente instalar el control según las instrucciones del proveedor.
Path Muestra el archivo en el que se encuentra el control ActiveX.

Precaución

Puede que no sea legal distribuir todos los controles ActiveX en el sistema. Consulte el contrato de licencia para el software que instaló los controles o póngase en contacto con la compañía del software.

Para agregar un control ActiveX

  1. Abra un cuadro de diálogo en el Editor del cuadro de diálogo.

  2. Haga clic con el botón derecho en cualquier parte del cuerpo del cuadro de diálogo y seleccione Insertar control ActiveX.

    Aparece el cuadro de diálogo Insertar control ActiveX y en él se muestran todos los controles ActiveX de su sistema. En la parte inferior del cuadro de diálogo, aparece la ruta de acceso al archivo del control ActiveX.

  3. Seleccione el control que desea agregar al cuadro de diálogo y elija Aceptar.

    El control aparece en el cuadro de diálogo, en el que puede editar o crear controladores para él como lo haría con cualquier otro control.

Sugerencia

Puede usar el menú contextual en el Editor de cuadros de diálogo para agregar rápidamente controles ActiveX registrados a un cuadro de diálogo o intentar agregar controles ActiveX a la ventana Cuadro de herramientas para facilitar el acceso.

Para editar las propiedades de un control ActiveX

Los controles ActiveX suministrados por proveedores independientes pueden estar equipados con sus propias propiedades y características. Estas propiedades se muestran en la ventana Propiedades. Las páginas de propiedades creadas por los escritores del control ActiveX se muestran en el cuadro de diálogo Páginas de propiedades. (Para ver la Página de propiedades de un control ActiveX específico, seleccione el botón Página de propiedades de la ventana Propiedades).

  • Seleccione el control ActiveX y vaya al menú Ver>Página de propiedades para ver las propiedades. Realice cambios según sea necesario en la página de propiedades.

    Se muestran varias pestañas en la página de propiedades de un control ActiveX, en función de las hojas de propiedades que forman parte del control ActiveX.

Nota:

Este procedimiento se aplica al uso de la página de propiedades para editar controles ActiveX. También puede examinar y editar las propiedades de ActiveX en la nueva ventana Propiedades.

Requisitos

Win32

Consulte también

Administrar controles de cuadro de diálogo
Cómo: controles de diseño
Cómo definir el control de acceso y los valores