Compartir a través de


AfxRegisterWndClass

Permite registrar sus propias clases de ventana.

LPCTSTR AFXAPI AfxRegisterWndClass(
   UINT nClassStyle,
   HCURSOR hCursor = 0,
   HBRUSH hbrBackground = 0,
   HICON hIcon = 0 
); 

Parámetros

  • nClassStyle
    Especifica el estilo de la clase de Windows o la combinación de estilos, creada mediante OR bit a bit (|) operador, para la clase de ventana.Para obtener una lista de estilos de clase, vea la estructura de Clase WNDCLASS en Windows SDK.Si NULL, los valores predeterminados se establece como sigue:

    • Establece el estilo del mouse en CS_DBLCLKS, que envía mensajes de doble clic al procedimiento de ventana cuando el usuario hace doble clic con el mouse.

    • Establece el estilo del cursor de flecha al estándar IDC_ARROWde Windows.

    • Establece el pincel del fondo a NULL, por lo que la ventana no borrará su fondo.

    • Establece el icono al estándar, icono el logotipo de Windows de agitar-indicador.

  • hCursor
    Especifica un identificador del recurso de cursor que se instalará en cada ventana creada a partir de la clase de ventana.Si se usa el valor predeterminado de 0, obtendrá IDC_ARROW estándar el cursor.

  • hbrBackground
    Especifica un identificador del recurso de pincel que se instalará en cada ventana creada a partir de la clase de ventana.Si se usa el valor predeterminado de 0, tendrá un pincel del fondo de NULL , y su ventana, de forma predeterminada, no borrará su fondo mientras procesa WM_ERASEBKGND.

  • hIcon
    Especifica un identificador del recurso de icono que se instalará en cada ventana creada a partir de la clase de ventana.Si se usa el valor predeterminado de 0, obtendrá el estándar, icono el logotipo de Windows de agitar-indicador.

Valor devuelto

Una cadena terminada en null que contiene el nombre de clase.Puede pasar este nombre de clase a la función miembro de Create en CWnd u otras clases derivadas de CWnd-para crear una ventana.El nombre es generado por la biblioteca Microsoft Foundation Class.

[!NOTA]

El valor devuelto es un puntero a un buffer estático.Para guardar esta cadena, asígnelo a una variable de CString .

Comentarios

La biblioteca Microsoft Foundation Class registra automáticamente varias clases de ventana estándar para usted.Llame a esta función si desea registrar sus propias clases de ventana.

El nombre registrado para una clase por AfxRegisterWndClass sólo depende de los parámetros.Si llama a AfxRegisterWndClass varias veces con parámetros idénticos, sólo registra una clase en la primera llamada.Las llamadas subsiguientes a AfxRegisterWndClass con parámetros idénticos devuelven simplemente el classname ya-registrado.

Si llama a AfxRegisterWndClass para las clases CWnd-derivadas varios con parámetros idénticos, en lugar de obtener una clase de la ventana independiente para cada clase, las acciones de cada clase la misma clase de ventana.Esto puede producir problemas si se utiliza el estilo de la clase de CS_CLASSDC .En lugar de las clases de ventana varias de CS_CLASSDC , terminará con una clase de ventana de CS_CLASSDC , y todas las ventanas de C++ que utilizan esa acción de la clase mismo DC.Para evitar este problema, llame a AfxRegisterClass para registrar la clase.

Consulte la nota técnica TN001: registro de la clase de ventana para más información en el registro de la clase de ventana y la función de AfxRegisterWndClass .

Ejemplo

CString strMyClass;

// load stock cursor, brush, and icon for
// my own window class

try
{
   strMyClass = AfxRegisterWndClass(
      CS_VREDRAW | CS_HREDRAW,
      ::LoadCursor(NULL, IDC_ARROW),
      (HBRUSH) ::GetStockObject(WHITE_BRUSH),
      ::LoadIcon(NULL, IDI_APPLICATION));
}
catch (CResourceException* pEx)
{
   AfxMessageBox(_T("Couldn't register class! (Already registered?)"));
   pEx->Delete();
}

Requisitos

Header: afxwin.h

Vea también

Referencia

CWnd::Create

CWnd::PreCreateWindow

WNDCLASS

AfxRegisterClass

Conceptos

Macros y funciones globales de MFC