diff --git a/list.md b/list.md index ae25556..ac8b223 100644 --- a/list.md +++ b/list.md @@ -4,8 +4,8 @@ 简要说明:完成程序入口、主窗口创建、消息循环和基础对话框处理。 -- [ ] `_tWinMain` - `src/source/Tetris.cpp` -- [ ] `MyRegisterClass` - `src/source/Tetris.cpp` +- [x] `_tWinMain` - `src/source/Tetris.cpp` +- [x] `MyRegisterClass` - `src/source/Tetris.cpp` - [ ] `InitInstance` - `src/source/Tetris.cpp` - [ ] `WndProc` - `src/source/Tetris.cpp` - [ ] `About` - `src/source/Tetris.cpp` diff --git a/report/images/Part1/MyRegisterClassAfter.png b/report/images/Part1/MyRegisterClassAfter.png new file mode 100644 index 0000000..ea5d33e Binary files /dev/null and b/report/images/Part1/MyRegisterClassAfter.png differ diff --git a/report/images/Part1/MyRegisterClass.png b/report/images/Part1/MyRegisterClassBefore.png similarity index 100% rename from report/images/Part1/MyRegisterClass.png rename to report/images/Part1/MyRegisterClassBefore.png diff --git a/src/source/Tetris.cpp b/src/source/Tetris.cpp index eb6c088..956f549 100644 --- a/src/source/Tetris.cpp +++ b/src/source/Tetris.cpp @@ -50,7 +50,22 @@ ATOM MyRegisterClass(HINSTANCE hInstance) { // TODO(作业2): 注册窗口类。 UNREFERENCED_PARAMETER(hInstance); - return 0; + WNDCLASSEX wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TETRIS)); + wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); + wcex.lpszMenuName = MAKEINTRESOURCE(IDC_TETRIS); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + return RegisterClassEx(&wcex); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)