用CW_USEDEFAULT创造一个在窗口正中间的静态文本框,无论窗口大小如何发生改变,请给我一个完整的代码
时间: 2024-02-22 18:59:27 浏览: 23
好的,以下是使用CW_USEDEFAULT创建一个在窗口正中间的静态文本框的完整代码:
```C++
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// Register window class
const char* CLASS_NAME = "My Window Class";
WNDCLASS wc = {};
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
// Create window
HWND hwnd = CreateWindowEx(
0,
CLASS_NAME,
"Window Title",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL
);
if (hwnd == NULL) {
return 0;
}
// Create static text control
HWND hStatic = CreateWindowEx(
0,
"STATIC",
"Hello, World!",
WS_CHILD | WS_VISIBLE | SS_CENTER,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hwnd,
NULL,
hInstance,
NULL
);
if (hStatic == NULL) {
return 0;
}
// Show window
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
// Message loop
MSG msg = {};
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, msg, wParam, lParam);
}
```
在上面的代码中,我们使用`CreateWindowEx()`函数创建了一个主窗口,并使用`CreateWindowEx()`函数在主窗口中创建了一个静态文本框。在创建静态文本框时,我们将其样式设置为`WS_CHILD | WS_VISIBLE | SS_CENTER`,这样它就会出现在主窗口中,并且文本会居中显示。由于我们在`CreateWindowEx()`函数中使用了`CW_USEDEFAULT`作为静态文本框的位置和大小,因此它会始终出现在主窗口的中心位置。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)