Compartir a través de


TN070: Nombres de clases de ventana

Nota:

La nota técnica siguiente no se ha actualizado desde que se incluyó por primera vez en la documentación en línea. Como resultado, algunos procedimientos y temas podrían estar obsoletos o ser incorrectos. Para obtener información más reciente, se recomienda buscar el tema de interés en el índice de la documentación en línea.

Las ventanas MFC usan un nombre de clase creado dinámicamente que refleja las características de la ventana. MFC genera nombres de clase dinámicamente para ventanas de marco, vistas y ventanas emergentes generadas por la aplicación. Los cuadros de diálogo y los controles producidos por una aplicación MFC tienen el nombre proporcionado por Windows para la clase de ventana en cuestión.

Puede reemplazar el nombre de clase proporcionado dinámicamente mediante el registro de su propia clase de ventana y su uso en una invalidación de PreCreateWindow. Sus nombres de clase proporcionados por MFC se ajustan a una de las dos formas siguientes:

Afx:%x:%x
Afx:%x:%x:%x:%x:%x

Los dígitos hexadecimales que reemplazan los caracteres %x se rellenan a partir de datos de la estructura WNDCLASS. MFC usa esta técnica para que varias clases de C++ que requieran estructuras WNDCLASS idénticas puedan compartir la misma clase de ventana registrada. A diferencia de las aplicaciones Win32 sencillas, las aplicaciones MFC solo tienen un WNDPROC, por lo que puede compartir fácilmente estructuras WNDCLASS para ahorrar tiempo y memoria. Los valores reemplazables de los caracteres %x mostrados anteriormente son los siguientes:

  • WNDCLASS.hInstance

  • WNDCLASS.style

  • WNDCLASS.hCursor

  • WNDCLASS.hbrBackground

  • WNDCLASS.hIcon

La primera forma (Afx:%x:%x) se usa cuando hCursor, hbrBackground y hIcon son NULL.

Consulte también

Notas técnicas por número
Notas técnicas por categoría
TN020: Convenciones de nomenclatura y numeración de identificadores