SDK编程菜鸟问(一)对话框消息
在用CreateDialog创建对话框时会不会触发WM_CREATE消息?CreateDialog是怎样创建对话框的,是否通过CreateWindow来的?而DialogBox有如何创建对话框?谢谢!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在用CreateDialog创建对话框时会不会触发WM_CREATE消息?CreateDialog是怎样创建对话框的,是否通过CreateWindow来的?而DialogBox有如何创建对话框?谢谢!!!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
高手啊!!!!!!!!帮帮忙吧
呵呵,我也想知道,帮你up一下!
咳,都到哪去啦?
会触发WM_CREATE对话框也属于窗口。
在用CreateDialog创建对话框时会触发WM_CREATE消息
其他东东 mfc深入浅出前几章上面写了,Createdialog主要通过调用windows的内建函数创建对话框,(具体哪个记不清了:))
如果CreateDialog调用CreateWindow(Ex)来创建对话框,那么必然产生WM_CREATE,除非CreateWindow(Ex)对这个Dialog窗口类有特殊的处理。
CreateDialog使用CreateWindowEx来创建对话框的,msdn这么说。
DialogBox也使用CreateWindowEx来创建对话框,msdn这么说。
还有一个,CreateDialog和DialogBox都是macro,不是function。
to SDK:
如果DialogBox也通过CreateWindowEx来创建对话框那为什么不产生WM_Create呢?我试着捕捉这消息,但不能捕捉到啊
CreateDialog是CreateDialogParam 的宏定义,通过调用CreateWindowEx来创建对话框,所以应该会触发WM_CREATE消息的,然后发送WM_INITDIALOG给对话框。
DialogBox是DialogBoxParam的宏定义,同样是调用CreateWindowEx。只不过它创建完了以后就屏蔽了它的拥有者窗口,进入自己的消息循环,所以它创建的对话框是模式对话框。