Мигает ListView при ресайзе!!!
От: bog  
Дата: 11.10.01 05:22
Оценка:
Создаю ATL-ый проект, добавляю обэкт composite control на нем делаю один ListView. Так, вот когда я этот контроль использую в другом приложении во время изменения его размеров он мигает. Что делат? Подскажите пожалуйста.
Re: Мигает ListView при ресайзе!!!
От: OlegO Россия http://www.mediachase.ru
Дата: 11.10.01 06:18
Оценка:
Здравствуйте bog, Вы писали:

bog>Создаю ATL-ый проект, добавляю обэкт composite control на нем делаю один ListView. Так, вот когда я этот контроль использую в другом приложении во время изменения его размеров он мигает. Что делат? Подскажите пожалуйста.


Ну тут надо выяснить кто кого перекрашивает:
a. composite control — List View
в этом случае необходимо перекрыть рисование и обновление фона под List View
б. другое приложение — composite control(вместе с List View)
тоже самое попробывать поэксперементировать со стилем WS_CLIPCHILDREN для "другое приложение"
в. List View глючит при перерисовке.
перекрывать обновление элементов List View и запретить обновление фона под элементами.

Или просто смирится :(
С уважением, OlegO.
Re[2]: Мигает ListView при ресайзе!!!
От: bog  
Дата: 11.10.01 07:20
Оценка:
Здравствуйте OlegO, спасибо, что отозвались.
Вы писали:

OO>Ну тут надо выяснить кто кого перекрашивает:

OO>a. composite control — List View
OO> в этом случае необходимо перекрыть рисование и обновление фона под List View

Попробовал — мигает также

OO>б. другое приложение — composite control(вместе с List View)

OO> тоже самое попробывать поэксперементировать со стилем WS_CLIPCHILDREN для "другое приложение"

Попробовал — мигает также

OO>в. List View глючит при перерисовке.

OO> перекрывать обновление элементов List View и запретить обновление фона под элементами.

а как "перекрывать обновление элементов List View и запретить обновление фона под элементами"
Заранее благодарен
Re[3]: Мигает ListView при ресайзе!!!
От: OlegO Россия http://www.mediachase.ru
Дата: 11.10.01 07:35
Оценка:
Здравствуйте bog, Вы писали:

bog>а как "перекрывать обновление элементов List View и запретить обновление фона под элементами"

bog>Заранее благодарен

Для собственно отрисовки элементов надо отловить сообщение NM_CUSTOMDRAW (list view).
MSDN/Plafrom SDK/User Interface Services/Windows Common Controls/List View Controls/List View Control Notification Messages

Однако советую все-таки определить, кто красит фон под List View приложение, ActiveX или List View
можно поочередно потестить перекрывая всякие WM_PAINT, WM_ERASEBKGND и т.д. и ничего в них не делая.
С уважением, OlegO.
Re: Мигает ListView при ресайзе!!!
От: Snax Россия  
Дата: 13.10.01 06:09
Оценка:
Здравствуйте bog, Вы писали:

bog>Создаю ATL-ый проект, добавляю обэкт composite control на нем делаю один ListView. Так, вот когда я этот контроль использую в другом приложении во время изменения его размеров он мигает. Что делат? Подскажите пожалуйста.


Попробуй посмотреть Spy++ может у кого их твоих окон в классе CS_HREDRAW | CS_VREDRAW стоит? Сам ListView не фликает. Точно.
Re[2]: Мигает ListView при ресайзе!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.10.01 22:10
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте bog, Вы писали:


bog>>Создаю ATL-ый проект, добавляю обэкт composite control на нем делаю один ListView. Так, вот когда я этот контроль использую в другом приложении во время изменения его размеров он мигает. Что делат? Подскажите пожалуйста.


S>Попробуй посмотреть Spy++ может у кого их твоих окон в классе CS_HREDRAW | CS_VREDRAW стоит? Сам ListView не фликает. Точно.


Еще как фликает, но многое зависит от версии эксплорера и режима отображения (в табличном режиме фликает меньше... по крайней мере с 6-ым эксплорером под W2k).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.