![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.02.2011
Сообщений: 3
|
![]()
Хочу понять как правильно перерисовывать окна, создал компонент - таблицу и через GDI отрисовал её, перехватив сообщение WM_PAINT. Теперь при щелчке хочу выделять нужную строку, вот тут и проблема, как правильно стереть предыдущее выделение и отрисовать текущее?
Код:
Код:
Код:
Даже если два раза напишу InvalidateRect со старым и новым значение, windows всё равно вызовет WM_PAINT один раз. Получается красиво, но делать перерисовку лишних данных думаю что всё таки неправильно. Поскажите куда копать |
![]() |
![]() |
![]() |
#2 |
Регистрация: 17.02.2011
Сообщений: 3
|
![]()
мерцание прекратилось изменив одну строчку кода
Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.02.2011
Сообщений: 3
|
![]()
Вообщем вроде как разобрался, смысл такой, посылаем два раза InvalidateRgn() со старыми координатами (которое очищает фон) и новое (рисует фон). Винда где-то в памяти помечает что данные координаты устарели и делает перерисовку только дня них, остальное не трогает, так что мерцания замечено не было, может код и не идеален. Кто знает точное решения данных проблем с радостью приму
![]() Добавил ещё выделение строки при перемещении мыши Код примера: Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перерисовка окна при момощи InvalidateRect | assch | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 01.07.2011 19:49 |
перерисовка/обновление клиентской области окна | ImmortalAlexSan | Общие вопросы Delphi | 0 | 09.01.2011 16:19 |
Перерисовка в ShellListView | artemavd | Общие вопросы Delphi | 2 | 04.04.2010 19:18 |
Перерисовка окна | _Dmitry_ | Win Api | 3 | 30.03.2010 19:55 |
Перерисовка формы | satana | Общие вопросы Delphi | 4 | 18.09.2007 19:42 |