【电子商务|对话框管理器第一章:先热热身】
文章图片
我认为大家关于对话框管理器的很多困惑 , 来自于没有真正地理解它的底层工作原理 。 这其实也没那么糟 。 在接下来的几篇文章中 , 我将首先描述对话框是如何创建的 , 然后我会讲解对话框消息循环 , 最后 , 我会再介绍一些有关导航相关的主题 。
这一系列将会包含九篇文章 , 请做好 , 扶稳了 。
对话框管理器的第一个主要部分 , 是它负责读取对话框模板并基于此模板创建一个对话框 。
你会看到一些形如CreateDialogXxx的函数 , 它们用来创建对话框 。 而它们只是在底层调用CreateDialogIndirectParam这个函数 。 在这些函数中 , 有些直接是通过宏来定义的 , 例如CreateDialog只是简单地调用CreateDialogParam , 并将一个参数设置为0.
类似的 , CreateDialogIndirect也只是将一个参数设置为0并调用CreateDialogIndirectParam 。
我们先来看看一个比较简单的包装器函数 , 如下图所示:
在上面的代码中 , CreateDialogParam只是使用hinst/pszTemplate来定位对话框模板 , 然后使用此模板来调用CreateDialogIndirectParam , 以创建对应的对话框 。
好了 , 今天就先到这里 , 不复杂吧?
在下一篇文章中 , 我将会从一个模板中创建对话框 , 请小期待一下 。
总结地球人都知道 , 我一向不喜欢弹出式对话框 , 但是:人在江湖 , 身不由己 。
TopomelBox也还是用到了一些对话框 , 这些对话框仅用于给使用者一些关键性提示 。
要完全避免对话框的使用 , 我看 , 挺难的 。 但我的原则还是:对话框能不用 , 咱就不用 。
没事瞎干扰用户干啥 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《The dialog manager part 1: Warm-ups》
- 电子商务|打败阿里和亚马逊,估值过1000亿,中国神秘电商海外疯狂吸金
- 电子商务|解散全部员工!传知名耳机厂欠下几百家供应商货款
- 电子商务|又一“陷阱”正在掏空国人?9亿多人沦陷了,央视曾多次报道!
- 电子商务|俄开出“最大额罚单”→
- 电子商务|越南电商最新状况,太不可思议!
- 电子商务|8点1氪 | ?B站上线防网暴专项;?腾讯视频回应和快手达成短视频二创合作:谣言;世纪佳缘“失联”高管已被拘留
- 电子商务|美国生鲜电商Instacart估值又被下调近百亿,距高点已缩水62%
- 电子商务|“科讯次元”完成数千万元A轮融资
- 电子商务|深得民心的良心浏览器被迫下架!
- 电子商务|电商“挤走”实体店后,自己也出了“问题”?众多从业者难做了