win32第一个windows窗口创建过程

  • 窗口创建过程

1.定义WinMain函数

2.定义窗口处理函数(自定义,处理消息)

3.注册窗口类(向操作系统写入一些数据)

4.创建窗口(内存中创建窗口)

5.显示窗口(绘制窗口的图像)

6.消息循环(获取/翻译/派发消息)

消息处理

 

  • 操作步骤

1.创建项目

win32第一个windows窗口创建过程

 win32第一个windows窗口创建过程

 win32第一个windows窗口创建过程

 2.新建项

win32第一个windows窗口创建过程

 win32第一个windows窗口创建过程

 win32第一个windows窗口创建过程

 3.更改项目引用集

win32第一个windows窗口创建过程

 win32第一个windows窗口创建过程

 4.添加代码

#include <windows.h>

//2.窗口处理函数(自定义,处理消息)
LRESULT CALLBACK WndProc(HWND hWnd, UINT msgID, WPARAM wParam, LPARAM IParam)
{
    return DefWindowProc(hWnd, msgID, wParam, IParam);
}

//1.入口函数
int CALLBACK WinMain( _In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd )
{
    //3.注册窗口类
    WNDCLASS wc = {0};
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.hCursor = NULL;
    wc.hIcon = NULL;
    wc.hInstance = hInstance;
    wc.lpfnWndProc = WndProc;
    wc.lpszClassName = "Main";
    wc.lpszMenuName = NULL;
    wc.style = CS_HREDRAW | CS_VREDRAW;
    RegisterClass(&wc);//将以上所有赋值全部写入操作系统

    //4.在内存创建窗口
    HWND hWnd = CreateWindow("Main", "window", WS_OVERLAPPEDWINDOW, 100, 100, 500, 500, NULL, NULL, hInstance, NULL);

    //5.显示窗口
    ShowWindow(hWnd, SW_SHOW);
    UpdateWindow(hWnd);

    //6.消息循环
    MSG nMsg = {0};
    while (GetMessage(&nMsg, NULL, 0, 0))
    {
        TranslateMessage(&nMsg);
        DispatchMessage(&nMsg);//将消息交给窗口处理函数来处理
    }

    return 0;
}

演示

win32第一个windows窗口创建过程

 

阿飞

2021年9月4日

win32第一个windows窗口创建过程

上一篇:学生管理系统 | 手把手教你入门Python之八十二


下一篇:使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析