Я работаю над некоторым кодом о захвате местоположения мыши. У меня есть фрейм, созданный с помощью wxWidgets, и я работаю над проблемой, которая мне нужна, чтобы получить высоту строки заголовка. Есть ли хороший способ получить размер строки заголовка?
Вы только что предположили, что строка заголовка всегда находится поверх окна? Большая ошибка.
Я предполагаю, что строка заголовка всегда находится сверху. @н.м.
Это должна быть координата y
того, что возвращает wxWindow::GetClientAreaOrigin()
.
Оба значения x
и y
wxWindow::GetClientAreaOrigin()
возвращают ноль, тогда я не мог получить правильную вещь.
wxWidgets предоставляет механизм для этого (и многого другого) под названием wxSystemSettings::GetMetric
.
static int wxSystemSettings::GetMetric(wxSystemMetric index, wxWindow* win = NULL);
Вы можете получить «глобальные» значения, оставив win
как NULL
, или вы можете передать их в определенном окне.
https://docs.wxwidgets.org/trunk/classwx_system_settings.html#aa18e3b5794dc4193c4b0668d28d4933a
Метрика, которую вы, вероятно, хотите, это wxSYS_CAPTION_Y
.
https://docs.wxwidgets.org/trunk/settings_8h.html#a0f2b19d7a3717cdbef5a04cb05ab8f26
wxSYS_CAPTION_Y
это то, что я ищу. Спасибо за отличный документированный ответ.
я думаю, это может быть ответом на ваш вопрос stackoverflow.com/a/431548/11118883