Как получить цвет меню в аэропоточном стиле?C++

Программы на C++. Форум разработчиков
Anonymous
Как получить цвет меню в аэропоточном стиле?

Сообщение Anonymous »

Я хочу нарисовать элементы всплывающего меню в выбранном стиле аэродинамической темы. Но я не знаю, как правильно получить цвета меню.
В этом случае мне нужно получить значение цвета фонового цвета. GetThemesyScolorBrush () Функция, но она возвращает значение 200 200 для всех констант.

Код: Выделить всё

COLORREF bgColor;
hTheme = OpenThemeData(hWnd, L"MENU");
HRESULT hr = GetThemeColor(hTheme, MENU_BARBACKGROUND, MB_ACTIVE, TMT_INT, &bgColor);
Но он возвращает hresult_from_win32 (error_not_found) и bgcolor содержит 204 204 204 .
Той же ошибка возвращается функцией вызовы с другими аргументами:

.

Код: Выделить всё

hr = GetThemeColor(hTheme, MENU_BARBACKGROUND, MB_ACTIVE, TMT_COLOR, &bgColor);
//or
hr = GetThemeColor(hTheme, MENU_BARBACKGROUND, MB_ACTIVE, TMT_MENU, &bgColor);
Так как получить цвет фона (и другие цвета элементов) меню для выбранной аэродинамической темы?

Подробнее здесь: https://stackoverflow.com/questions/795 ... ound-color

Вернуться в «C++»