Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Visual Styles + ownerdraw

9.1K
08 июня 2010 года
motorw
134 / / 15.12.2009
Имеются кнопки с ownerdraw. Ну и прогресс бар имеется обычный. Захотелось мне красоты, чтобы он по-виндовому отрисовывался(зеленый, в новом стиле, без голубых прямоугольников), включил стили. Теперь беда с ними другая: не приходит сообщение WM_DRAWITEM с параметрами прорисовки для нажатых кнопок. Т.е. LPDRAWITEMSTRUCT(lparam)==ODA_SELECT. Остальные (ODA_FOCUS и ODA_DRAWENTIRE) приходят нормально.
14
08 июня 2010 года
Phodopus
3.3K / / 19.06.2008
ODA_* - битовые флаги. Их присутствие нельзя устанавливать как LPDRAWITEMSTRUCT(lparam)==ODA_SELECT
9.1K
08 июня 2010 года
motorw
134 / / 15.12.2009
Цитата: Phodopus
ODA_* - битовые флаги. Их присутствие нельзя устанавливать как LPDRAWITEMSTRUCT(lparam)==ODA_SELECT


Интересно, как же работает тогда все у меня?

Код:
LPDRAWITEMSTRUCT pdis=(LPDRAWITEMSTRUCT)lparam;
switch (pdis->itemAction)
                {
                    case ODA_DRAWENTIRE:
                    {
                        SelectObject(hMemDC,hbm3);break;
                    }
                    case ODA_FOCUS:
                        if(pdis->itemState & ODS_DEFAULT)
                        {
                            SelectObject(hMemDC,hbm2);break;
                        }

И так далее.
14
09 июня 2010 года
Phodopus
3.3K / / 19.06.2008
Цитата: motorw
Интересно, как же работает тогда все у меня?


если там 7 case-ов, то не вопрос (приведено было именно как

Цитата:

LPDRAWITEMSTRUCT(lparam)==ODA_SELECT


).
Да и проблема может быть не в этом. Но тем не менее сравнивать надо так, как это сделано в этом месте:

 
Код:
if(pdis->itemState & ODS_DEFAULT)
9.1K
10 июня 2010 года
motorw
134 / / 15.12.2009
Так он вообще ODA_SELECT не получает! месседжбоксами проверял даже. Вот в чем проблема. Фокус он принимает нормально.
14
11 июня 2010 года
Phodopus
3.3K / / 19.06.2008
Выложите пример проектом в аттаче
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог