帮我美化hwndMain = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 600, 600, NULL, NULL, hInstance, NULL);创建的窗口
时间: 2024-02-10 10:15:50 浏览: 18
好的,以下是美化后的代码:
```c++
HWND hwndMain = CreateWindow(szWindowClass, szTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
600, 600,
NULL, NULL, hInstance, NULL);
if (hwndMain == NULL) {
MessageBox(NULL, "Window creation failed!", "Error", MB_ICONERROR | MB_OK);
return 0;
}
// 给窗口添加一个背景画刷,颜色为灰色
HBRUSH hbrBackground = CreateSolidBrush(RGB(192, 192, 192));
SetClassLongPtr(hwndMain, GCLP_HBRBACKGROUND, (LONG_PTR)hbrBackground);
// 设置窗口的图标
HICON hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
SendMessage(hwndMain, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
SendMessage(hwndMain, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
// 设置窗口的字体
HFONT hFont = CreateFont(16, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, TEXT("微软雅黑"));
SendMessage(hwndMain, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));
// 让窗口居中显示
RECT rcWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0);
int x = (rcWorkArea.right - rcWorkArea.left - 600) / 2;
int y = (rcWorkArea.bottom - rcWorkArea.top - 600) / 2;
SetWindowPos(hwndMain, NULL, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
// 显示窗口
ShowWindow(hwndMain, nCmdShow);
UpdateWindow(hwndMain);
```
以上代码实现了以下功能:
1. 给窗口添加一个灰色的背景画刷。
2. 设置窗口的图标。
3. 设置窗口的字体为微软雅黑,字号为16。
4. 让窗口在屏幕中央显示。
5. 显示窗口并更新窗口。