AfxRegisterClass

使用这个函数去注册使用MFC的DLL中的windows类

BOOL AFXAPI AfxRegisterClass( 
   WNDCLASS* lpWndClass  
);

参数

  • lpWndClass
    指向 WNDCLASS 结构包含关于窗口类的注册信息。 有关该结构的更多信息,请参见 Windows SDK。

返回值

TRUE,如果类注册成功;否则为 FALSE

备注

如果使用此功能,当卸载 DLL 时类自动为未注册的。

在非 DLL 版本,AfxRegisterClass 标识符定义为映射到 Windows 函数 RegisterClass的宏,因为在应用程序注册的类自动为未注册的。 如果可以使用 AfxRegisterClass 代替 RegisterClass,则您的代码可以使用而无需在应用程序和 DLL 中更改。

示例

// 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(wndcls.hInstance, MAKEINTRESOURCE(IDI_MYICON));
wndcls.hCursor = LoadCursor(wndcls.hInstance, MAKEINTRESOURCE(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 trace if it fails 
if(!AfxRegisterClass(&wndcls))
{
   TRACE("Class Registration Failed\n");
}

要求

标头: afxwin.h

请参见

概念

MFC 宏和全局函数