窗口的位置和大小怎么设置
时间: 2024-03-22 17:37:59 浏览: 35
在 Windows 系统中,窗口的位置和大小可以通过指定 `CreateWindowEx` 函数的参数来设置。
具体来说,可以通过指定 `x`、`y`、`nWidth`、`nHeight` 参数来设置窗口的位置和大小。其中,`x` 和 `y` 分别表示窗口左上角的横坐标和纵坐标,`nWidth` 和 `nHeight` 分别表示窗口的宽度和高度。如果将这些参数都设置为 `CW_USEDEFAULT`,则系统会自动计算出一个合适的位置和大小。
例如,以下代码创建了一个大小为 400x300,位于屏幕中央的窗口:
```c++
HWND hWnd = CreateWindowEx(
0,
"MY_WINDOW_CLASS",
"My Window",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
(GetSystemMetrics(SM_CXSCREEN) - 400) / 2, (GetSystemMetrics(SM_CYSCREEN) - 300) / 2, 400, 300,
NULL, NULL, hInstance, NULL);
```
在这个例子中,我们使用了 `GetSystemMetrics` 函数来获取屏幕的宽度和高度,然后计算出窗口左上角的坐标,使得窗口位于屏幕中央。
除了在创建窗口时指定位置和大小,还可以在窗口创建后通过调用 `MoveWindow` 函数来改变窗口的位置和大小。例如:
```c++
MoveWindow(hWnd, x, y, nWidth, nHeight, TRUE);
```
这个函数的参数与 `CreateWindowEx` 函数中的类似,只是多了一个布尔值参数,用于指定是否需要重绘窗口。