我可以更改指定窗口标题栏的高度吗?

时间:2008-12-30 03:41:05

标签: mfc caption

我想自绘我应用程序窗口的标题栏,所以我决定重写OnNcPaint()方法。但我不知道如何设置不同高度的标题栏。每次我使用GetSystemMetrics(SM_CYCAPTION)时,它都会重新生成相同的值。

谁能告诉我怎么做?谢谢!

2 个答案:

答案 0 :(得分:4)

您无法更改普通Windows绘制标题栏的大小。这取决于用户设置和主题。如果你自己画画,那么你也可以自己定义字幕尺寸。您可以随意在任何地方绘制任何颜色,因此您可以在通常被视为客户区域的地方绘制标题栏。要使该额外区域表现得好像是标题栏,请处理wm_NCHitTest消息并返回htCaption

请注意,GetSystemMetrics不接受窗口句柄作为其参数之一。这意味着它无法返回特定于窗口的指标。顾名思义,它为您提供了系统范围的指标。

答案 1 :(得分:0)

不要乱用标题,不要使用它。相反,“发明”你自己的标题。将TPanel设置为与窗口顶部对齐,并将其用作该窗口的标题。