对话框与普通窗口有啥区别?

icbm icbm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的主窗口的窗口处理函数:WndProc,对话框处理函数:DlgProc。

我发现WndProc可以收到WM_KEYDOWN消息,但是DlgProc收不到。

WndProc可以收到WM_GETMINMAXINFO消息,lParam指向一个正确的MINMAXINFO结构;

DlgProc也可以收到WM_GETMINMAXINFO消息,lParam“指向”一个MINMAXINFO结构。但这个结构既不读,也不能写,对它进行读、写操作程序就崩溃了。

我的理解是:对话框也是一个窗口,对话框的“真正的”窗口处理函数由Windows操作系统控制,先做一些预处理。那些没处理的消息,或者经过预处理的消息才发送到由用户定义的对话框处理函数。不知我的理解是否正确。

请问:

对话框与普通窗口有啥区别?

如果情况是我认为的那样,对话框处理函数收到的消息是被Windows系统预处理过的。那么Windows系统做了哪些预处理呢?又有什么结果呢?

欢迎大家指点、讨论。

参与的朋友都有分,分不够可另开帖加分。:)
...全文
评论 4
收藏 已收藏
分享
返回顶部
icbm
界面 15,976 成员 115,866 内容