AfxRegisterClass
更新 : 2007 年 11 月
この関数を使って MFC を使う DLL にウィンドウ クラスを登録します。
BOOL AFXAPI AfxRegisterClass(
WNDCLASS* lpWndClass
);
パラメータ
- lpWndClass
登録されるウィンドウ クラスについての情報を持つ WNDCLASS 構造体へのポインタ。この構造体の詳細については、Windows SDK を参照してください。
戻り値
クラスが正常に登録された場合は TRUE を返します。それ以外の場合は FALSE を返します。
解説
このクラスを使っているときは、DLL がアンロードされたときにクラスが自動的に登録から抹消されます。
非 DLL のビルドではアプリケーションに登録されたクラスは自動的に登録解除されるので、AfxRegisterClass 識別子は Windows 関数 RegisterClass に割り当てられるマクロとして定義されます。RegisterClass の代わりに AfxRegisterClass を使うと、アプリケーションでも 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