我的自定义表格控件会绘制自己的复选框并处理自己的复选框事件。现在,当我计算主题复选框的大小(使用GetThemePartSize()
)时,我确保所有状态都是相同的大小,如果一个是不同的恐慌。如果我要动态改变计算复选框大小(传入HDC
),每次检查所有状态是不合理的,这似乎是我比恐慌行动更强大的时候(特别是因为我正在重构所有控制代码)。
我可以假设所有主题复选框状态都具有相同的大小吗?如果没有,我如何处理尺寸差异以达到绘图目的:我是否总是使用最大尺寸,如果是这样,我在哪里绘制相对于最大尺寸的较小复选框,或者我还要做其他事情?对于命中测试:我总是考虑最大尺寸吗?
The old "Windows XP Visual Guidelines" document表明它们都应该具有相同的大小,但这并不能保证未来Windows版本的任何内容(我也不知道未来版本的Windows的类似文档)。我在MSDN或头文件中没有看到任何其他内容。
我在这里特别谈论uxtheme;我不知道关于非编号的复选框(现在我只是使用所有状态的小图标大小,但我确信有更好的方法来获得我不知道的大小......)。
感谢。