windows c++ 一个带界面的窗口程序
时间: 2024-05-06 09:20:11 浏览: 13
以下是一个简单的带界面的窗口程序,使用C语言编写:
```c
#include <windows.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// 注册窗口类
WNDCLASS wc = {0};
wc.lpfnWndProc = WindowProc;
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 0;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
```
这个程序创建了一个窗口,窗口的类名是"MyWindowClass",窗口标题是"My Window",窗口大小是500x500,窗口背景色是默认的白色。窗口的消息处理函数是WindowProc,在这个函数中处理了窗口关闭消息,其他消息都交给系统默认的处理函数处理。程序进入消息循环后,不断调用GetMessage函数取得消息,然后调用TranslateMessage和DispatchMessage函数处理消息,直到收到退出消息为止。