Как получить большие Windows значки диалогов для экранов с высоким разрешением? - PullRequest
0 голосов
/ 03 мая 2020

В настоящее время я использую SHGetStockIconInfo , чтобы получить стандартные значки диалога Windows, такие как Предупреждение, Ошибка, Справка или Информация. К сожалению, он поддерживает только значки 16px (маленький) и 32px (большой) даже на экранах с высоким разрешением. На экране с масштабированием 200% мне нужны эти значки с 64px.

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

Как правильно получить большие Windows значки диалогов?

1 Ответ

0 голосов
/ 09 мая 2020

@ RbMm - идеальное предложение в качестве комментария. Чтобы закрыть этот вопрос, я добавляю его сюда в качестве ответа.

LoadIconWithScaleDown отлично справляется со своей задачей. Он загружает значок в указанном стандартном размере без какого-либо масштабирования (или уменьшает нестандартный размер по сравнению с большим доступным размером). Его также можно использовать для загрузки системных образов:

Если hinst имеет значение NULL, pszName указывает либо имя автономного файла значка (.ico), либо идентификатор предварительно определенного значка для загрузки. Следующие идентификаторы распознаются. Чтобы передать эти константы в функцию LoadIconWithScaleDown, используйте макрос MAKEINTRESOURCE. Например, чтобы загрузить значок IDI_ERROR, передайте MAKEINTRESOURCE (IDI_ERROR) в качестве параметра pszName и NULL в качестве параметра hinst.

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