Присвоение темных полос прокрутки CMFCPropertyGridC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Присвоение темных полос прокрутки CMFCPropertyGrid

Сообщение Anonymous »

Я видел репозиторий на github:
https://github.com/ysc3839/win32-darkmode
Я реализовал fixdarkscrollbars Функция в моем тестовом проекте. Хорошей новостью является то, что он работает для 99% моего диалога:
< /p>
Единственное управление, у которого все еще есть световые прокрутки, - это CMFCPropertyGrid < /code>. Вот fixdarkscrollbar :

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

void FixDarkScrollBar()
{
HMODULE hComctl = LoadLibraryExW(L"comctl32.dll", nullptr, LOAD_LIBRARY_SEARCH_SYSTEM32);
if (hComctl)
{
auto addr = FindDelayLoadThunkInModule(hComctl, "uxtheme.dll", 49); // OpenNcThemeData
if (addr)
{
DWORD oldProtect;
if (VirtualProtect(addr, sizeof(IMAGE_THUNK_DATA), PAGE_READWRITE, &oldProtect))
{
auto MyOpenThemeData = [](HWND hWnd, LPCWSTR classList) -> HTHEME {
if (wcscmp(classList, L"ScrollBar") == 0)
{
hWnd = nullptr;
classList = L"Explorer::ScrollBar";
}
return _OpenNcThemeData(hWnd, classList);
};

addr->u1.Function = reinterpret_cast(static_cast(MyOpenThemeData));
VirtualProtect(addr, sizeof(IMAGE_THUNK_DATA), oldProtect, &oldProtect);
}
}
}
}
с использованием spy ++
spy ++ подтверждает, что вертикальная прокрутка имеет прокрутку Имя класса.

[*] Это согласуется с функцией fixdarkscrollbar < /code>, где она ищет имя этого класса: < /li>
< /ul>

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

if (wcscmp(classList, L"ScrollBar") == 0)
Также ожидается, потому что функция cmfcpropertygridctrl :: getscrollbarctrl возвращает cscrollbar .
< /уль>

Подробнее здесь: https://stackoverflow.com/questions/794 ... opertygrid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подсказки по вводу, цепное присвоение и множественное присвоение
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Как определить пользовательский атрибут с различными значениями для световых и темных тем в JetPack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Tailwind не покажет режим света и показывает только стили темных режимов
    Anonymous » » в форуме Javascript
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Vaadin 24 — стиль полос прокрутки для сетки vaadin
    Гость » » в форуме CSS
    0 Ответы
    70 Просмотры
    Последнее сообщение Гость
  • Vaadin 24 — стиль полос прокрутки для сетки vaadin
    Гость » » в форуме CSS
    0 Ответы
    60 Просмотры
    Последнее сообщение Гость

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