Esta es mi primera aplicación MFC lejos de VC6, y me siento un poco estúpido:

¿Cómo puedo agregar el controlador OnInitDialog?
(Yo sé cómo agregar manualmente, pero eso es un dolor en el largo plazo).

doble clic en el cuadro de diálogo de nada.
haga clic derecho en el cuadro de diálogo «agregar controlador de eventos» está deshabilitado.
Propiedades – Mensajes tiene «normal» de los mensajes, pero no WM_INITDIALOG
Propiedades de los Eventos a los que sólo se sostiene de las notificaciones de los controles contenidos
haga clic en la vista de clases – «Agregar..» sólo tiene funciones y variables

arañazos cabeza

[editar] d’oh – es una función virtual en MFC, pero aún así…

InformationsquelleAutor peterchen | 2009-06-07

2 Comentarios

  1. 33

    No se siente estúpido, siempre me llevó a entender esto cuando me mudé de VC6 a VS2008!

    De todos modos, y también para mi propia referencia, aquí están los pasos para agregar un cuadro de diálogo y la invalidación de la OnInitDialog método:

    1. Seleccione Vista de Recursos y ampliar la .archivo rc.
    2. Haga clic en el de Diálogo de entrada en la vista de árbol y seleccione de Diálogo Insertar.
    3. Seleccione el Propiedades ventana. (Nota: Si no aparece esta ventana, seleccione la Ver > Otras Ventanas > Ventana de Propiedades de la menú elemento).
    4. En el Propiedades de la ventana, ajuste el ID para el diálogo, por ejemplo, IDD_MYDIALOG.
    5. Derecho haga clic en el cuadro de diálogo en el editor de recursos y seleccione Agregar Clase. Nota: si tiene instalado IE8, esto puede producir un Error de secuencia de Comandos de Internet Explorer. Ver este blog para obtener detalles sobre cómo corregir este problema.
    6. En el Asistente para clases de MFC cuadro de diálogo, escriba el nombre de la clase, por ejemplo, CMyDialog, seleccione CDialog como la clase base, a continuación, pulse Acabado. Esto creará archivos con el nombre MyDialog.cpp y MyDialog.h y agregarlos a su proyecto.

    Para anular la OnInitDialog método en el CMyDialog clase:

    1. Abrir el archivo MyDialog.h.
    2. Seleccione el Propiedades ventana.
    3. Coloque el cursor en la línea que dice class CMyDialog : public CDialog. (La parte superior de la ventana de Propiedades debe mostrar «CMyDialog VCCodeClass» – esto es importante, porque el Propiedades ventana es altamente sensible al contexto, y obtener diferentes opciones dependiendo de la ubicación del cursor en el editor.)
    4. Haga clic en el Anula icono en la Propiedades ventana.
    5. Desplácese hacia abajo en la ventana de propiedades para encontrar OnInitDialog.
    6. Haga clic en la flecha hacia abajo en contra de esta entrada y seleccione <Agregar> OnInitDialog. Esto debería crear su CMyDialog::OnInitDialog función.

    Espero que esto ayude!

    • Sólo quería mencionar que este huían de mí por un tiempo muy largo así después de que he migrado a VS2008 de VC6. Puede tomar un poco de tiempo para acostumbrarse.
    • Lo encontró! 😀 siempre ayuda a saber que no está solo.
    • En el paso 5, «Agregar » Class» está deshabilitado. !!
  2. 4

    Parece que usted incluso no tiene que abrir el archivo de encabezado y meterse al colocar el cursor… Después de creatingthe clase, seleccione la clase en el panel de ClassView y puede cambiar overrides/mensajes/eventos en el panel de propiedades como se describió anteriormente.

    • Lo que hace este complemento a la aceptación de la respuesta?
    • Porque no es necesario para abrir el archivo de encabezado y un lío con posicionar el cursor en la línea correcta de código para obtener el panel de propiedades para mostrar correctamente.

Dejar respuesta

Please enter your comment!
Please enter your name here