首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么对话框控件ID定义从100开始?

你可能注意到这样一个现象:

当在对话框编辑器里添加一个新的控件的时候,通常情况下,控件的ID以100开始,这是为啥?

因为小于100的数已经被使用了,如果你打开资源ID定义文件,就一清二楚了:

对话框管理器它能够自动识别这些特殊的ID值。如果你的对话框上,某个控件和这些特殊ID值相同,则这个控件将会自动带上这些特殊控件的行为。

具体来说,假设一个控件的ID是IDOK,则对话框管理器会假设这个按钮是一个OK按钮。如果用户点击回车按键,则对话框上的默认按钮就会被按下。如果对话框上没有默认按钮,则OK按钮会被按下。类似地,如果一个控件的ID是IDCANCEL,则对话框管理器会认为它是一个Cancel按钮。如果用户点击ESC或者角落上的关闭按钮,则这个Cancel按钮会被按下。

如果你的对话框有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?》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220124A01ZV900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券