visual studio 2008 - visual - VS 2008, MFC: agregar OnInitDialog-¿cómo?
install emmet visual studio code (2)
¡No me sienta estúpido, me tomó una eternidad resolver esto cuando me mudé de VC6 a VS2008 por primera vez!
De todos modos, y también para mi propia referencia, aquí están los pasos completos para agregar un cuadro de diálogo y anular el método OnInitDialog
:
- Seleccione Vista de recursos y expanda el archivo .rc.
- Haga clic con el botón derecho en la entrada del diálogo en la vista de árbol y seleccione Insertar diálogo .
- Seleccione la ventana Propiedades . (Nota: si no ve esta ventana, seleccione el elemento de menú Ver > Otras ventanas > Ventana Propiedades ).
- En la ventana Propiedades , establezca la ID para el diálogo, por ejemplo,
IDD_MYDIALOG
. - Haga clic con el botón derecho 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. Vea esta publicación del blog para obtener detalles sobre cómo corregir esto.
- En el cuadro de diálogo Asistente de clase MFC , ingrese el nombre de la clase, por ejemplo,
CMyDialog
, seleccioneCDialog
como la clase base, luego presione Finalizar . Esto creará los archivos llamadosMyDialog.cpp
yMyDialog.h
y los agregará a su proyecto.
Para anular el método OnInitDialog
en la clase CMyDialog
:
- Abra el archivo
MyDialog.h
. - Seleccione la ventana Propiedades .
- Coloque el cursor en la línea que lee la
class CMyDialog : public CDialog
. (La parte superior de la ventana Propiedades debe mostrar " CMyDialog VCCodeClass"; esto es importante, ya que la ventana Propiedades es muy sensible al contexto, y usted obtiene diferentes opciones dependiendo de la ubicación del cursor en el editor). - Haga clic en el icono Anulaciones en la ventana Propiedades .
- Desplácese hacia abajo en la ventana de propiedades para encontrar
OnInitDialog
. - Haga clic en la flecha hacia abajo en esta entrada y seleccione <Agregar> OnInitDialog . Esto debería crear su función
CMyDialog::OnInitDialog
.
¡Espero que esto ayude!
Esta es mi primera aplicación MFC lejos de VC6, y me siento un poco estupido:
¿Cómo agrego el controlador OnInitDialog? (Sé cómo agregarlo manualmente, pero eso es un dolor a largo plazo).
Haciendo doble clic en el diálogo, nada. haga clic derecho en el diálogo - "agregar controlador de eventos" está deshabilitado. Propiedades: los mensajes tienen mensajes "normales", pero no WM_INITDIALOG Propiedades: los eventos solo contienen notificaciones de los controles contenidos en la vista de clases. "Agregar ..." solo tiene funciones y variables
rasca la cabeza
[edit] d''oh - es una función virtual en MFC, pero aún así ...
Parece que ni siquiera tiene que abrir el archivo de encabezado y ensuciar colocando el cursor ... Después de crear la clase, seleccione la clase en el panel de ClassView y puede cambiar anulaciones / mensajes / eventos en el panel de propiedades como se describe anteriormente .