是否所有BP_CHECKBOX状态都保证具有相同的大小,如果没有,在绘制和命中测试时如何处理大小差异?

时间:2015-03-04 00:28:32

标签: winapi uxtheme

我的自定义表格控件会绘制自己的复选框并处理自己的复选框事件。现在,当我计算主题复选框的大小(使用GetThemePartSize())时,我确保所有状态都是相同的大小,如果一个是不同的恐慌。如果我要动态改变计算复选框大小(传入HDC),每次检查所有状态是不合理的,这似乎是我比恐慌行动更强大的时候(特别是因为我正在重构所有控制代码)。

我可以假设所有主题复选框状态都具有相同的大小吗?如果没有,我如何处理尺寸差异以达到绘图目的:我是否总是使用最大尺寸,如果是这样,我在哪里绘制相对于最大尺寸的较小复选框,或者我还要做其他事情?对于命中测试:我总是考虑最大尺寸吗?

The old "Windows XP Visual Guidelines" document表明它们都应该具有相同的大小,但这并不能保证未来Windows版本的任何内容(我也不知道未来版本的Windows的类似文档)。我在MSDN或头文件中没有看到任何其他内容。

我在这里特别谈论uxtheme;我不知道关于非编号的复选框(现在我只是使用所有状态的小图标大小,但我确信有更好的方法来获得我不知道的大小......)。

感谢。

0 个答案:

没有答案