用c++写一个简单的窗口程序可点击
时间: 2023-10-30 14:06:12 浏览: 39
Sure, 我可以为你提供一段基本的窗口程序的示例代码,你可以使用它来创建一个带有单个按钮的窗口,以下为代码:
```
#include <windows.h>
#define BTN_ID 1
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case BTN_ID:
MessageBox(hWnd, "Button Clicked!", "Click",
MB_OK | MB_ICONINFORMATION);
break;
}
break;
}
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
break;
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
// Register Window Class
WNDCLASS wndClass;
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.lpfnWndProc = WndProc;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hInstance = hInstance;
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wndClass.lpszMenuName = NULL;
wndClass.lpszClassName = "My Window Class";
if (!RegisterClass(&wndClass))
{
MessageBox(NULL, "Failed to register window class!", "Error",
MB_OK | MB_ICONERROR);
return 0;
}
// Create Window
HWND hWnd;
hWnd = CreateWindow(
"My Window Class", "Button Clicker", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 400, 300,
NULL, NULL, hInstance, NULL);
if (hWnd == NULL)
{
MessageBox(NULL, "Failed to create window!", "Error",
MB_OK | MB_ICONERROR);
return 0;
}
// Create Button
HWND hButton;
hButton = CreateWindow(
"BUTTON", "Click Me", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
150, 100, 100, 30,
hWnd, (HMENU)BTN_ID, hInstance, NULL);
if (hButton == NULL)
{
MessageBox(NULL, "Failed to create button!", "Error",
MB_OK | MB_ICONERROR);
return 0;
}
// Show Window
ShowWindow(hWnd, nShowCmd);
UpdateWindow(hWnd);
// Run Message Loop
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Return
return msg.wParam;
}
```
如果您想要编辑此代码并运行它,请确保将其保存为 .cpp 文件,然后使用适用于您的编译器的命令来编译和运行该程序。