用Visual Studio写一个Windows窗口
时间: 2024-05-15 17:12:30 浏览: 80
下面是一个简单的 Windows 窗口程序,你可以使用 Visual Studio 创建一个新的 Win32 项目并将以下代码添加到 main.cpp 文件中:
```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)
{
// 创建窗口类
WNDCLASS wc = {0};
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszClassName = "MyWindowClass";
RegisterClass(&wc);
// 创建窗口
HWND hwnd = CreateWindow(
"MyWindowClass", "My Window", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 500, 500,
NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, nCmdShow);
// 进入消息循环
MSG msg = {0};
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);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
```
以上代码创建了一个名为 "MyWindowClass" 的窗口类,并在 `WinMain` 函数中创建了一个窗口并将其显示出来。窗口的消息处理函数 `WndProc` 中只处理了 WM_DESTROY 消息,即关闭窗口的操作。
你可以在 Visual Studio 中按 F5 来编译并运行该程序,即可看到一个空白的窗口。
阅读全文