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

Ваш аккаунт

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

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

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

Ограничение области прорисовки в OnPaint

21K
12 ноября 2009 года
TITAMIN
58 / / 24.07.2008
Проект на основе CDialog
Необходимо исключить область прорисовки окна.
OnErase() - обрабатываю !!!
мне известна функция исключающая из области прорисовки участок :
ValidateRect() - но она вызывает этот же OnPaint().
На сколько я понимаю - ее не корректно вызывать в OnPaint.
Вопрос в следующем: как мне в OnPaint ограничить область прорисовки.
Заранее спасибо.
52K
12 ноября 2009 года
ruprogman
20 / / 26.10.2009
Уточните вопрос. Насколько я понимаю, область прорисовки - это минимальная часть окна, содержащая "мусор", который отпечатался в окне в результате выхода оного за пределы экрана, перекрытия другим окном и т.д. Ограничение (если оно возможно) приведет к тому, что мусор останется в окне (т.к. у окна нет "памяти", и все, что ушло из видимости, заполнилось мусором). Мож тогда запретить юзеру двигать окна :o
5
12 ноября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: TITAMIN

Вопрос в следующем: как мне в OnPaint ограничить область прорисовки.
Заранее спасибо.


SetBoundsRect ?

А вообще в GDI+ есть более мощные возможности по клиппингу: можно ограничить прорисовку областью произвольной формы.

21K
12 ноября 2009 года
TITAMIN
58 / / 24.07.2008
SetBoundsRect - Безрезультатно !!!
Уточняю вопрос : мне необходимо Запретить прорисовывать окно в определенном участке.
ValidateRect - делает это, но также вызывает OnPaint - каламбур получится, если я в OnPainte буду вызывать ее... да и безрезультатно...
Надеюсь на этот раз объяснил яснее.
5
12 ноября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: TITAMIN
мне необходимо Запретить прорисовывать окно в определенном участке.

Кому запретить?

21K
12 ноября 2009 года
TITAMIN
58 / / 24.07.2008
Не былуйтесь...
Обработчику прорисовке окна на сообщение WM_PAINT...
Видео у меня рендерится надо чтоб под ним нифига не происходил - так понятней ?
5
12 ноября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: TITAMIN
Не былуйтесь...
Обработчику прорисовке окна на сообщение WM_PAINT...
Видео у меня рендерится надо чтоб под ним нифига не происходил - так понятней ?


Видео в оверлее обычно рендерится, под ним и так ничего рисоваться не будет. Или у вас не так?

21K
12 ноября 2009 года
TITAMIN
58 / / 24.07.2008
Dshow -> VMR9 -> windowless режим указываю хэндл моего окна указываю позицию вывода видео . Все было чудненько до того момента как я поставил стиль Composited окна, с ним просто у меня контролы перестали дергаться !!! но видео начало мигать ...
52K
12 ноября 2009 года
ruprogman
20 / / 26.10.2009
Ну а если Composited заменить на Layered с альфой 255 (он тоже буферизует вывод).

ЗЫ проблему с дерганьем контролов лучше решать не стилями окна...
21K
12 ноября 2009 года
TITAMIN
58 / / 24.07.2008
Вопрос тогда как его решать (вопрос с прыганьем контролов) ???
С привеликим удовольствием откажусь от Composited !!! :)
А то я создавал тему - никто так внятно и не сказал ничего !!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог