Как получить реальную высоту строки заголовка с помощью C++

На самом деле я считаю, что здесь есть такой же спрос. Но я все еще нахожу некоторые проблемы, поэтому я должен опубликовать здесь еще одно сообщение.

Если я использую snipaste, чтобы захватить панель инструментов. Я могу знать, что настоящая строка заголовка 28 как это

Но если я использую метод в этом посте так:

#include<iostream>
#include <wtypes.h>
using namespace std;

int main() {
    cout << GetSystemMetrics(SM_CYCAPTION) << endl;
    return 0;
}

Я просто получу 23, Есть ли что-то, что я пропустил? Или 28 на самом деле содержат другую часть, кроме строки заголовка? Если я хочу найти реальную высоту строки заголовка с C++. Как я могу сделать?

0 ответов

Не совсем то, что вы спросили, но я часто нахожу этот полезный показатель:

int FindExtraWindowHeight(HWND h)
{
  RECT w, c;
  GetWindowRect(h, &w);
  GetClientRect(h, &c);
  return (w.bottom - w.top) - (c.bottom - c.top);
}

Разница между окном и клиентской областью. Так что это даст вам высоту строки заголовка + толщина границы.

Другие вопросы по тегам