Export (0) Print
Expand All
MFC
TRY
Expand Minimize

AfxRegisterClass 

Use this function to register window classes in a DLL that uses MFC.


BOOL AFXAPI AfxRegisterClass(
   WNDCLASS* lpWndClass 
);

Parameters

lpWndClass

Pointer to a WNDCLASS structure containing information about the window class to be registered. For more information on this structure, see the Platform SDK.

TRUE if the class is successfully registered; otherwise FALSE.

If you use this function, the class is automatically unregistered when the DLL is unloaded.

In non-DLL builds, the AfxRegisterClass identifier is defined as a macro that maps to the Windows function RegisterClass, since classes registered in an application are automatically unregistered. If you use AfxRegisterClass instead of RegisterClass, your code can be used without change both in an application and in a DLL.

BOOL COneT32App::InitInstance()
{

    // Register your unique class name that you wish to use
    WNDCLASS wndcls;

    memset(&wndcls, 0, sizeof(WNDCLASS));   // start with NULL
                                            // defaults

    wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;

    //you can specify your own window procedure
    wndcls.lpfnWndProc = ::DefWindowProc; 
    wndcls.hInstance = AfxGetInstanceHandle();
    wndcls.hIcon = LoadIcon(IDR_MAINFRAME); // or load a different icon
    wndcls.hCursor = LoadCursor( IDC_ARROW );
    wndcls.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
    wndcls.lpszMenuName = NULL;

    // Specify your own class name for using FindWindow later
    wndcls.lpszClassName = _T("MyNewClass");

    // Register the new class and exit if it fails
    if(!AfxRegisterClass(&wndcls))
    {
       TRACE("Class Registration Failed\n");
       return FALSE;
    }

    // Rest of InitInstance goes here
    ...
}

Community Additions

ADD
Show:
© 2014 Microsoft