Windows编程:图形应用与动态内存管理
1. 编写图形化Windows应用程序
编写图形化Windows应用程序通常包含以下关键步骤:
- 显示并更新主窗口。
- 开启一个循环来接收和分发消息,该循环会持续运行,直到用户关闭应用程序窗口。
WinMain函数中包含一个消息处理循环,它调用GetMessage函数从程序的消息队列中获取下一个可用消息。如果GetMessage获取到WM_QUIT消息,它将返回零,告知WinMain程序该停止运行了。对于其他消息,WinMain会将它们传递给DispatchMessage函数,该函数会将消息转发给程序的WinProc过程。
1.1 WinProc过程
WinProc过程负责接收和处理与窗口相关的所有事件消息。大多数事件是由用户通过点击和拖动鼠标、按下键盘按键等操作触发的。该过程的任务是对每条消息进行解码,如果识别出消息,就执行与该消息相关的应用程序任务。其声明如下:
WinProc PROC,
hWnd:DWORD, ; 窗口句柄
localMsg:DWORD, ; 消息ID
wParam:DWORD, ; 参数1(可变)
lParam:DWORD ; 参数2(可变)
第三个和第四个参数的内容会根据具体的消息ID而变化。例如,当鼠标被点击时,lParam包含点击点的X和Y坐标。在接下来的示例程序中,WinProc过程处理三种特定消息:
- WM_LBUTTONDOWN:当用户按下鼠标左键时生成。
- WM_CREATE:表示主窗口刚刚创建。
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



