阅读量:1
- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
窗口类注册和管理
- 窗口类注册和管理是Windows编程中的基础知识,通过注册窗口类,我们可以定义窗口的行为和外观。然后,我们可以创建基于该类的窗口。
- RegisterClass / RegisterClassEx: 用于注册窗口类。这些函数将窗口类信息(例如窗口过程、图标、光标等)关联起来,从而定义窗口的行为和外观。
-
// 注册窗口 WNDCLASSEX wndclass = { 0 }; wndclass.cbSize = sizeof(WNDCLASSEX); wndclass.style = NULL; wndclass.lpfnWndProc = MainWindowProc; wndclass.cbClsExtra = NULL; wndclass.cbWndExtra = NULL; wndclass.hInstance = hInstance; wndclass.hIcon = NULL; wndclass.hCursor = NULL; wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW; wndclass.lpszMenuName = NULL; wndclass.lpszClassName = TEXT("0xCC"); wndclass.hIconSm = NULL; if (!RegisterClassEx(&wndclass)) { MessageBox(NULL, TEXT("RegisterClassEx Failed"), TEXT("Error"), MB_OK); return 1; }
-
UnregisterClass
: 用于注销之前注册的窗口类。- 如果该函数成功,则返回值为非零值。
- 如果找不到类,或者仍存在使用类创建的窗口,则返回值为零。
- GetClassInfo / GetClassInfoEx: 用于检索窗口类的信息,确认窗口类是否已经注册或者获取窗口类的详细信息。
- 如果函数找到匹配的类并成功复制数据,则返回值为非零值。
- 如果函数找不到匹配的类并成功复制数据,则返回值为零。
-
WNDCLASSEX wndOut = { 0 }; wndOut.cbSize = sizeof(WNDCLASSEX); BOOL bRet = GetClassInfoEx(hInstance, L"0xCC", &wndOut); if (bRet) { UnregisterClass(L"0xCC", hInstance); }
- RegisterClass / RegisterClassEx: 用于注册窗口类。这些函数将窗口类信息(例如窗口过程、图标、光标等)关联起来,从而定义窗口的行为和外观。