我正在使用 GetSystemMetrics(SM_CXSIZEFRAME)
对于边框的宽度,它适用于基本设计,但不适用于 aero,我该如何改进它,使其适用于 aero?
我正在使用 GetSystemMetrics(SM_CYCAPTION)
对于标题栏的高度,但对于基本设计和航空设计而言,该值都太小了,我在这里做错了什么?
最佳答案
在没有主题的 Windows 中,GetSystemMetrics(SM_CYCAPTION)
是标题栏中文本的高度;您需要添加框架和边框填充的大小( GetSystemMetrics(SM_CYSIZEFRAME) + GetSystemMetrics(SM_CYEDGE) * 2
)。
对于主题 Windows(这是这些天的默认设置), GetThemeSysSize
很可能是您正在寻找的功能;特别是,GetThemeSysSize(SM_CXBORDER)
对于边框宽度,和 GetThemeSysSize(SM_CYSIZE) + GetThemeSysSize(SM_CXPADDEDBORDER) * 2
为标题栏。
关于winapi - 如何获取航空和基本设计的标题栏高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566307/