2

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

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

4

2 回答 2

4

您无法更改普通 Windows 绘制的标题栏的大小。这是由用户设置和主题决定的。如果您自己绘制东西,那么您还可以自己定义标题尺寸。您可以随心所欲地绘制任何您想要的东西,因此您可以在通常被认为是客户区域的地方绘制标题栏。要使该额外区域表现得好像它真的是标题栏,请处理wm_NCHitTest消息并返回htCaption

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

于 2008-12-30T06:54:03.300 回答
0

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

于 2010-07-29T02:54:53.580 回答