![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
namervasek |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.12.2007 Репутация: нет Всего: нет |
Всем привет!
Вообшем мне нужно реализовать класс который рисовался бы на любом контроле. А имено это "лист бумаги". Рисую я с помощью GDI вот так(парент передается через конструктор).
Но проблема заключается в том что если TSHeet.Paint вызываь в OnPaint формы, и у формы свойство doublebuffer= true, и перисовку форму делать методами Refresh или RePaint(перерисовка скажем происходит при нажатии клавиши) то изображение не рисуется... Точнеее оно рисуется но сразу затирается фоном формы. Как я понял проблема заключается в refresh так он заливате всю область окна вызовом Invalidate перед рисованием. Поясните как тут быть... PS: при таком рисовании естесвено возникает мерцание. я собираюсь избавитсмя от него с помощью bitblt и других сопуствующих winapi и вот что хотелось бы спросить а можно ли с помошью свойства парента doublebuffer избавтсяя от него и как это реализовать? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
В режиме DoubleBuffer форма рисует не на DC, а на битмапе, который потом рисуется поверх всего и затирает картинку. Отсюда вывод, либо рисовать на том кто не DoubleBuffer, либо включиться в общую схему и пронаследоваться от TGraphicControl, так чтобы родитель сам вызывал твой WMPaint и передавал тебе DC битмапа бэкбуфера. Этот буфер впоследствии будет отрисован -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
namervasek |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.12.2007 Репутация: нет Всего: нет |
Коротко и ясно
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |