|为什么对话框控件ID定义从100开始?
文章图片
你可能注意到这样一个现象:
当在对话框编辑器里添加一个新的控件的时候 , 通常情况下 , 控件的ID以100开始 , 这是为啥?
因为小于100的数已经被使用了 , 如果你打开资源ID定义文件 , 就一清二楚了:
对话框管理器它能够自动识别这些特殊的ID值 。 如果你的对话框上 , 某个控件和这些特殊ID值相同 , 则这个控件将会自动带上这些特殊控件的行为 。
具体来说 , 假设一个控件的ID是IDOK , 则对话框管理器会假设这个按钮是一个OK按钮 。 如果用户点击回车按键 , 则对话框上的默认按钮就会被按下 。 如果对话框上没有默认按钮 , 则OK按钮会被按下 。 类似的 , 如果一个控件的ID是IDCANCEL , 则对话框管理器会认为它是一个Cancel按钮 。 如果用户点击ESC或者角落上的关闭按钮 , 则这个Cancel按钮会被按下 。
【|为什么对话框控件ID定义从100开始?】如果你的对话框有OK和Cancel按钮 , 请确保它们的ID被分别设置为IDOK和IDCANCEL , 这样它们就可以和系统默认的按钮行为一致了 。 反过来说 , 如果一个控件的ID是IDOK或者IDCANCEL , 则请确保这个控件在设计上是一个OK或者Cancel按钮 。 否则 , 用户使用的时候 , 会感到疑惑 , 甚至会说不好的话 , 例如:这Template Module啥玩意儿?
总结猿友在专注代码的时候 , 一定要时不时将自己假想成用户 , 感受一下用户使用你的软件时的感受 。
如果你觉得这东西使用还挺流畅 , 心情愉悦 , 则代表你开发的东西还不赖 。
如果你觉得如鲠在喉 , 甚至想要骂娘 , 则此时你应当心里有数:你在开发一个神马东西 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《Why do dialog editors start assigning control IDs with 100?》
- iPad|iPadmini6从发售之日起,果冻屏现象就一直有,那为什么会出现这种现象?
- oled屏幕|为什么总有人说OLED屏幕伤眼?为什么有人非LCD屏幕手机不用?
- 阿里巴巴|阿里被罚182亿!腾讯为什么至今安然无恙?
- 程序员|为什么程序员会有代码能跑就不要动的观点?是有毒吗?还是怎样?
- 华为|终于明白为什么越来越多的华为老用户,换手机时,不愿考虑华为了
- |一部手机用了三年以上是什么感受,你为什么舍不得换机呢?
- 蓝牙耳机|入门级百元价位蓝牙耳机,为什么努比亚C1要比倍思W04更值得入手
- face id|果粉集体失声!明明都是Face ID,为什么iPhone 11不支持口罩解锁
- 英特尔|OPPOFindN发布两月仍要预约7000+的售价一机难求为什么
- iPhone|全球的iphone都能免费换新,为什么中国消费者就不可以?