Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

windows c++

作者:空白篇pia~   发布日期:2026-04-12   浏览:44

#include <iostream>
#include <windows.h>

// 这是一个简单的 Windows C++ 程序示例,它会创建一个窗口并显示一条消息。

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
    switch (uMsg) {
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;

        case WM_PAINT: {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hwnd, &ps);
            FillRect(hdc, &ps.rcPaint, (HBRUSH)(COLOR_WINDOW+1));
            EndPaint(hwnd, &ps);
        }
        return 0;

        default:
            return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    const char CLASS_NAME[] = "Sample Window Class";

    WNDCLASS wc = {};
    wc.lpfnWndProc = WindowProc;
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;

    RegisterClass(&wc);

    HWND hwnd = CreateWindowEx(
        0,
        CLASS_NAME,
        "Learn to Program Windows",
        WS_OVERLAPPEDWINDOW,

        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,

        NULL,
        NULL,
        hInstance,
        NULL
    );

    if (hwnd == NULL) {
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);

    MSG msg = {};
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return 0;
}

解释说明:

  1. 包含头文件

    • #include <iostream>:用于输入输出流。
    • #include <windows.h>:包含 Windows API 的声明。
  2. 窗口过程函数 (WindowProc)

    • 处理窗口消息。这里处理了 WM_DESTROYWM_PAINT 消息。
    • WM_DESTROY:当窗口被关闭时发送的消息,调用 PostQuitMessage 退出消息循环。
    • WM_PAINT:当窗口需要重绘时发送的消息,使用 BeginPaintEndPaint 来绘制窗口内容。
  3. WinMain 函数

    • Windows 应用程序的入口点。
    • 定义窗口类并注册。
    • 创建窗口并显示。
    • 进入消息循环,处理用户输入和系统事件。

这个示例展示了如何创建一个基本的 Windows 应用程序,包括窗口的创建、消息处理和绘制。

上一篇:插入排序c++

下一篇:c++ int 转string

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

c++ string类

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站