Re: Отключение custom-отрисовки в контролах
От: Master Yoda Великобритания  
Дата: 17.08.06 09:33
Оценка: 2 (1)
Здравствуйте, Yuri_Ch, Вы писали:

Y_C>1. Правильно ли следующее решение — завести глобальную переменную g_isNativeTheme, и проверять ее в каждом методе, имеющем отношеие к переопределению контрола.


К глобальным переменным вообще у многих людей отношение неоднозначное Я бы лучше создал метод например у объекта приложения:

class CMyApp: public CWinApp { /* ... * };

inline bool CMyApp::UseNativeTheme() {
    return m_bUseNativeTheme;
}


Но это конечно не принципиально.

<...>

Y_C>2. Вышеуказанное решение работает только при перезапуске приложения.


Да прям... Пробовал окно развернуть/свернуть?

Y_C>Когда я пытаюсь реализовать флажок Disable All Skins, примеро так:


<...>

Y_C>Но контролы не перерисовываются. Если идеи? Если моя ошибка очень грубая и очевидная, не бейте сильно по голове, ОК? Программист я пока очень начинающий


Попробуй

AfxGetMainWnd()->RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE | RDW_ALLCHILDREN);
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.