在注册该类时,将窗口过程与窗口类相关联。您必须填写WNDCLASS结构,其中包含有关该类的信息,lpfnWndProc成员必须指定窗口过程的地址。要注册该类,请将WNDCLASS结构的地址传递给RegisterClass函数。一旦注册了窗口类,窗口过程将自动与每个用该类创建的新窗口相关联。
以下示例显示如何将上一个示例中的窗口过程与窗口类相关联。
int APIENTRY WinMain(
HINSTANCE hinstance, //当前实例的句柄
HINSTANCE hinstPrev, //前一个实例的句柄
LPSTR lpCmdLine, //命令行字符串的地址
int nCmdShow) // show-window类型
{
WNDCLASS wc;
//注册主窗口类。
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC) MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hinstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = "MainMenu";
wc.lpszClassName = "MainWindowClass";
if(!RegisterClass(& wc))
return FALSE;
//
//处理其他消息。
//
}