Win32创建窗口与子窗口事件处理

win32 的窗口和子窗口事件,逻辑挺绕,但掌握了套路之后也不复杂。窗口创建的消息分发机制比较核心,尤其是像WM_CREATEWM_COMMAND这类消息,理解透了,响应也就顺了。你要是用CreateWindowEx动态创建子窗口,建议配合窗口类的注册使用,注册窗口类时记得设置lpfnWndProc,不然消息都收不到。

子窗口的消息其实跟主窗口一样走回调,只是有些控件自带逻辑,比如按钮、文本框这些,你想加点自定义动作,最好还是用Subclass改它的消息函数。哦对了,子窗口响应父窗口消息的机制也值得注意,是在做布局嵌套时。

如果你是刚摸 Win32 的窗口系统,这几篇文章还蛮值得一看:

用 Win32 写窗口,初期最容易绕晕的就是消息和子窗口交互,建议先把主窗口那套流程搞熟,再一步步拆子窗口的逻辑,别一上来就一锅炖。

如果你卡在子窗口的指针获取或者事件响应上,可以参考下获取子窗口指针失败这篇,挺常见的坑。

rar 文件大小:3.64KB