【问题标题】:Get titlebar text size WINAPI获取标题栏文本大小 WINAPI
【发布时间】:2015-01-13 11:44:58
【问题描述】:

如何获取标题栏的(文本大小或高度)。
我尝试使用GetSystemMetrics(SM_CYCAPTION),但它返回标题栏的高度而不是文本大小。
有什么建议吗?

【问题讨论】:

    标签: c++ winapi


    【解决方案1】:

    调用SystemParametersInfo 传递SPI_GETNONCLIENTMETRICS。这将填充NONCLIENTMETRICS 结构。在该结构中是 lfCaptionFont,其中包含您想要的信息。

    【讨论】:

    • 非客户指标 m; SystemParametersInfo(SPI_GETNONCLIENTMETRICS,NULL,&m,NULL);但我得到空结构?我正在使用 WS_POPUP 窗口
    • 您没有按照文档中的说明进行操作。 pvParam 参数必须指向接收信息的 NONCLIENTMETRICS 结构。将此结构的 cbSize 成员和 uiParam 参数设置为 sizeof(NONCLIENTMETRICS)。 仔细阅读文档至关重要。另请注意,您没有检查返回值是否有错误。同样,您必须始终这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多