![]() |
|
|
![]()
|
|
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Есть такой вопрос. Нужно рисовать не на всем диалоге, а на контроле. Написал функцию, которая рисует то что надо, на кнопке (в качестве примера), беря его контекст устройства. Все хорошо, но вот только если вызвать эту фунцию из OnPaint то кнопка рисуется позже и оказывается над рисунком. Если повесить вызов ф-ии на нажатие кнопки, то все ок до очередного вызова перерисовки всего окна. Как можно решить данную проблемму?
--------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Сделать так, чтобы контрол рисовал себя сам. Т.е. субклассировать кнопку, переопределив ей функцию OnPaint. Или просто сделать ее OwnerDraw? и рисовать в функции DrawItem.
-------------------- ... |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Ну вариант с субклассом (как я понял имеется ввиду наследование?) не сильно катит, ибо желательно рисовать только зная контекст устройства. По поводу DrawItem - чья это функция? А то включил OwnerDraw, но в обработчиках кнопки такого не нашел.
--------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Спасибо, уже понятнее. Но возникла новая проблемма. В общем последовательность действий была такая
-нашел обработчик DrawItem, добавил его - все ок, программа собирается, запускаетя -включил кнопке OwnerDraw - все, прогарамма собирается, но когда запускается то выдает ошибку Unhandled exception (( Никакой код я при этом сам не вписывал. Все было сгенерировано визардами. Может надо какой то стиль поменять у кнопки еще? Увы, в мсдн-е нашел только упоминание, что в струтуре, передаваемой в OwnerDraw hDC должно быть в итоге такое же как и в начале, но я ведь ничего не меняю. --------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Есть такая штука - отладчик называется. Попробуй, чего гадать-то.
-------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |