//1.设计窗口
//2.注册窗口
//3.创建窗口
//4.显示和更新窗口
//5.通过循环取消息
//6.处理消息(窗口过程)
#include <windows.h>
#include <iostream>
#include <stdio.h>
//6.窗口处理程序(自定义,处理消息)
//CALLBACK 代表 __stdcall 参数传递的顺序,从右到左,依次入栈,并且在函数返回前,清空堆栈。
LRESULT CALLBACK WndProc(HWND hWnd, UINT msgID, WPARAM wParam, LPARAM lParam)
{
switch (msgID)
{
case WM_CLOSE: //点击关闭时发出的消息
//所有xxxWindow为结尾的方法,都不会进入到消息列队中,而是直接执行。
DestroyWindow(hWnd); //DestroyWindow()函数发送窗口销毁消息 WM_DESTROY
break;
case WM_DESTROY: //窗口销毁消息
PostQuitMessage(0); //可以使自定义窗口类的GetMessage()函数返回0
break;
}
//系统自动处理产生的消息
return DefWindowProc(hWnd, msgID, wParam, lParam);
}
//入口函数
int CALLBACK WinMain(HINSTANCE hIns, HINSTANCE hPreIns, LPSTR lpCmdLine, int nCmdShow)
{
//1.设计窗口
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW; //窗口类的风格(都是以 CS_ 开头)。
wc.lpfnWndProc = WNDPROC(WndProc); //窗口处
Windows编程 - Windows窗口创建核心代码
于 2023-04-21 21:19:34 首次发布