• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Cchecklistbox Неверно Отображается Под Windows 8

  • Автор темы virtpro
  • Дата начала
V

virtpro

Есть такая проблема, элементы CCheckListBox в 3-м состоянии не верно отображаются под windows 8 если выбрана обычная тема, если выбрать классическую или контрастную всё становится нормально.
В 3-м состоянии элемент CheckBox должен отображаться как серый квадратик с галкой,


под обычной темой он отображается как просто серый квадратик


Кто-нибудь уже сталкивался с таким поведением?
 
V

virtpro

Получилось так:

Получилось сделать так...
Определил функцию заполнения CheckListBox : void FillControls()
в неё вставил код сбрасывания темы

C++:
void ResetTheme()
{
const HMODULE hMod=GetModuleHandle(TEXT("uxtheme.dll"));
if( hMod ) 
{
typedef HRESULT (__stdcall *PFUNC)(HWND,LPCWSTR,LPCWSTR);
PFUNC pFun = (PFUNC)GetProcAddress(hMod, TEXT( "SetWindowTheme" ));
if( pFun ) 
{
const HRESULT hRes =pFun(GetSafeHwnd(), L"", L"");
ASSERT( S_OK == hRes );
}
}
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!