我想自绘制应用程序窗口的标题栏,因此我决定重写 OnNcPaint() 方法。但我不知道如何设置不同的标题栏高度。每次我使用 GetSystemMetrics(SM_CYCAPTION) 时,它都会重新运行相同的值。
谁能告诉我该怎么做?谢谢!
最佳答案
您无法更改普通 Windows 绘制的标题栏的大小。这是由用户设置和主题决定的。如果您自己绘制东西,那么您还可以自己定义标题尺寸。您可以在任何地方绘制任何您想要的内容,因此您可以在通常被视为客户区域的区域上绘制标题栏。要使该额外区域的行为就像它确实是标题栏一样,请处理 wm_NCHitTest
消息并返回 htCaption
。
请注意,GetSystemMetrics
不接受窗口句柄作为其参数之一。这意味着它无法返回特定于窗口的指标。顾名思义,它为您提供系统范围的指标。
关于mfc - 我可以更改指定窗口标题栏的高度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/399482/