Рисуй, где хочешь и где нет
От: Alvengo http://alvengo.chat.ru
Дата: 09.11.01 16:39
Оценка:
У меня в диалоге есть саморисующийся контрол. Как ему объяснить, что за своими пределами рисовать нехорошо? Весь диалог заляпал 8( Почему не работает область отсечения?
Re: Рисуй, где хочешь и где нет
От: Kolya  
Дата: 16.11.04 07:39
Оценка:
Здравствуйте, Alvengo, Вы писали:

A>У меня в диалоге есть саморисующийся контрол. Как ему объяснить, что за своими пределами рисовать нехорошо? Весь диалог заляпал 8( Почему не работает область отсечения?



знаю, что можно сделать CreateCompatibleDC, CreateCompatibleBitmap
затем нарисовать на этом битмапе, потом BitBlt.

но это, сами понимаете, лишние операции

а вот без них можно как-нибудь обойтись
Re: Рисуй, где хочешь и где нет
От: nii_im_b Мухосранск  
Дата: 16.11.04 07:51
Оценка:
Здравствуйте, Alvengo, Вы писали:

A>У меня в диалоге есть саморисующийся контрол. Как ему объяснить, что за своими пределами рисовать нехорошо? Весь диалог заляпал 8( Почему не работает область отсечения?


твой контрол?
Re: Рисуй, где хочешь и где нет
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 16.11.04 07:55
Оценка:
Здравствуйте, Alvengo, Вы писали:

A>У меня в диалоге есть саморисующийся контрол. Как ему объяснить, что за своими пределами рисовать нехорошо? Весь диалог заляпал 8( Почему не работает область отсечения?


Хорошо бы код увидеть...
[ posted via RSDN@Home 1.1.4 beta 3 r231, accompanied by Artist — Track 3 ]
- Искренне ваш, Поросенок Пафнутий
Re: Рисуй, где хочешь и где нет
От: AcidTheProgrammer Россия https://hts.tv/
Дата: 16.11.04 09:19
Оценка:
Здравствуйте, Alvengo, Вы писали:

A>У меня в диалоге есть саморисующийся контрол. Как ему объяснить, что за своими пределами рисовать нехорошо? Весь диалог заляпал 8( Почему не работает область отсечения?


Скорее всего у твоего контрола стоит стиль класса CS_PARENTDC, тоесть он наследует DC парента, а своего не имеет, соответственно Clip по умолчанию родительский работает. (Такой стиль может быть выставлен, если ты например от statica свой контрол унаследовал).

Соответственно сразу на ум приходят два солюшшена:
1. Убирай стиль класса CS_PARENTDC (любым удобным спорсобом)
2. Ставь SelectClipRgn когда рисуешь, и ибирай после рисования.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.