硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4073|回复: 4
收起左侧

[emWin] 消息类型 WM_CREATE 与 WM_INIT_DIALOG 有什么区别? 如果是使用对话框创建页面

[复制链接]

35

主题

116

回帖

221

积分

高级会员

程序小白

积分
221
QQ
发表于 2020-6-21 23:34:02 | 显示全部楼层 |阅读模式
消息类型 WM_CREATE 与 WM_INIT_DIALOG;  该如何区分使用呢?
回复

使用道具 举报

21

主题

481

回帖

544

积分

金牌会员

积分
544
发表于 2020-6-22 00:31:22 | 显示全部楼层
简单说,WM_CREATE类比于抽象类,WM_INIT_DIALOG类比于抽象类的一个具体实例,比如用GUIBuilder创建的Dialog WINDOW,CB函数都有WM_INIT_DIALOG消息用来初始化(这个是Segger公司定的,我们只管用就好了)
如果你自己开发一个新的WIDGET,那就用WM_CREATE,因为没有具体初始化消息可以使用,必须自己写
建议尽量能用WM_INIT_DIALOG就优先使用
回复

使用道具 举报

35

主题

116

回帖

221

积分

高级会员

程序小白

积分
221
QQ
 楼主| 发表于 2020-6-22 08:35:10 | 显示全部楼层
h_007 发表于 2020-6-22 00:31
简单说,WM_CREATE类比于抽象类,WM_INIT_DIALOG类比于抽象类的一个具体实例,比如用GUIBuilder创建的Dialo ...

你好  , 是不是意味着如果用对话框创建页面 ,消息类型只有 WM_INIT_DIALOG ,而不会用到 WM_CREATE?
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2020-6-22 10:14:51 | 显示全部楼层
清风徐来 发表于 2020-6-22 08:35
你好  , 是不是意味着如果用对话框创建页面 ,消息类型只有 WM_INIT_DIALOG ,而不会用到 WM_CREATE?

我没有试验过,但是感觉WM_CREATE消息也会产生。 似乎,它应该在Init_Dialog之前产生。
回复

使用道具 举报

21

主题

481

回帖

544

积分

金牌会员

积分
544
发表于 2020-6-22 13:15:05 | 显示全部楼层
清风徐来 发表于 2020-6-22 08:35
你好  , 是不是意味着如果用对话框创建页面 ,消息类型只有 WM_INIT_DIALOG ,而不会用到 WM_CREATE?

是的,其实WM_INIT_DIALOG的作用跟WM_CREATE差不多,你在初始化阶段要做的事情,就在WM_INIT_DIALOG消息里添加即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 03:06 , Processed in 0.220712 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表