Можно ли определить шрифт лица / размер / цвет, используемый DrawThemeText? - PullRequest
1 голос
/ 08 марта 2011

Windows API имеет функцию DrawThemeText для рисования текста в прямоугольник в стиле определенной детали и состояния в соответствии с указанной темой Windows . (Андреас Рейбранд сделал аккуратное приложение , демонстрирующее детали и состояния.)

Можно ли определить, какой шрифт, размер и цвет используются для данной детали и состояния?

GetSystemMetrics можно использовать, чтобы узнать только о некоторых системных шрифтах.

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Существует множество функций GetThemeXxxx ().Вы, вероятно, ищете соответственно соответственно GetThemeFont (), GetThemeMetric () и GetThemeColor ().Метрический был немного догадкой, есть несколько других связанных с размерами.GetThemeFont также возвращает размер шрифта. Начните здесь в библиотеке MSDN.

0 голосов
/ 15 сентября 2011

Мне не удалось отследить ни одного рабочего примера GetThemeFont, не говоря уже об управляемой версии VisualStyleRenderer.GetThemeFont.Изучение источника Mono дает авторский комментарий о том, что они также не смогли заставить GetThemeFont возвращать что-либо, кроме нуля.

Использование TMT_FONT постоянно вызывает ошибку неуправляемой памяти, а использование TMT_GLYPHFONT последовательно возвращает ошибку «не поддерживается»,Этот конкретный API, кажется, ужасно испорчен и (смею сказать) не работает.

Ответ, помеченный как ответ, вообще не является ответом.Автор спросил, как вести машину, и вы указали ему на машину, которая не заводилась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...