![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| p0s0l |
|
|||
|
Unregistered |
Все видели в html-ах фоновый рисунок: сам фон статичный, а текст перемещается по нему. Мне же надо сделать таблицу с фоновым рисунком. Это легко делается с помощью DrawGrid, и почти все работает нормально, без всяких мерцаний.
Но колесо мыши все портит: когда я кручу колесо вся таблица сдвигается вверх или вниз вместе с рисунком, и это портит весь вид, т.к. фон сдвигается а новая строка выводится с несдвинутым рисунком, поэтому одна и таже часть рисунка (линия) плодится по всему экрану. Я вешал на OnTopLeftChange вызов dg1.Refresh, но из-за этого все начинает некрасиво мерцать. Кто-нибудь знает как избежать мерцания или же как сделать так, чтобы при прокрутке колесом мыши все содержимое DrawGrid не сдвигалось ? |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
ну поидее в самом начале метода paint очищай (fillrect) и потом на всю таблицу рисуй рисунок.... по идее должно помочь.
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
обработчик колеса надо перекрыть...
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
altarasjuk: У DrawGrid нет события OnPaint . cully: я уже пробовал события OnMouseWheelUp и OnMouseWheelDown, но туда вообще никогда не приходит ! Че делать ? |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
ага не всё на событиях построено. Если нельзя перегрузить метод Paint, я точно не помню есть ли он, то всегда можно ловить мессагу.....
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А как это сделать ?
И зачем делать вначале fillrect, а потом рисовать картинку ? Можно же сразу её выводить ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
fillrect - очистит всё выделение. при том для всего грида, а не только для ячейки. А делать это надо - ловя событие (message) WM_PAINT, как это делать более подробно - загляни в хелп, там по этому поводу всё описано более менее нормально.
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |