步骤:
// 1、设计窗口类
// 2、注册窗口类
// 3、创建窗口类
// 4、显示和更新窗口
// 5、通过循环取消息
// 6、处理消息(窗口过程)
程序:
#include <windows.h> //底层实现窗口头文件
// 6、处理消息(窗口过程)
// CALLBACK 代表 __stdcall 参数传递顺序 从右往左 依次入栈 ,并且在函数返回前自动清空 堆栈内容
LRESULT CALLBACK WindowProc(
HWND hwnd, //消息所属窗口句柄
UINT uMsg, // 具体消息名称 WM_XXX
WPARAM wParam, // 键盘附加消息
LPARAM lParam //鼠标附加消息
)
{
switch (uMsg)
{
case WM_CLOSE:
DestroyWindow(hwnd); //触发 WM_DESTROY 约定俗成一个事情: 函数名 xxxWindow消息,不会放到消息队列中,而是直接执行
break;
case WM_DESTROY:
PostQuitMessage(0); //发送退出消息
break;
case WM_LBUTTONDOWN: //鼠标左键按下消息
{
int xPos;
int yPos;
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);
//打印操作 通常同MessageBox
TCHAR buf[1024];
w