Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ListView мерцает при заполнении записями Добавлено: 13.01.06 18:43  

Автор вопроса:  Pantalone
Это происходит если при добавлении выполнять DoEvents
Как бы это безобразие прекратить?

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 13.01.06 19:12
Не выполнять при добавлении DoEvents?..

Ответить

Номер ответа: 2
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #2 Добавлено: 13.01.06 19:16
Тогда вообще не видно что он заполняется и прога висит, юзер бесится :)

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 13.01.06 19:22
Показать юзеру окно "Добавляю записи"...

Или прекратить вызывать DoEvents как только количество добавленных записей превысит количество одновременно отображаемых...

Ответить

Номер ответа: 4
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #4 Добавлено: 13.01.06 19:54
Но если записей много нужно дать возможность юзеру прервать, без DoEvents как это сделать?

Ответить

Номер ответа: 5
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #5
Добавлено: 13.01.06 21:35
Вызывать DoEvents реже. Скажем, раз в секунду.

Ответить

Номер ответа: 6
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #6 Добавлено: 13.01.06 22:03
Пробовал уже, мигает но раз в секунду.
Пересмотрел кучу прог, там все с этим нормально, т.е. идет заполнение ListView тучей записей и хоть бы кто моргнул, нет, только скроллер размер меняет и идет отображение процесса. Видимо такой VB глюкавый. Не первый месяц уже эту прогу пишу, столько граблей при написании, просто неслыхано!

Ответить

Номер ответа: 7
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #7
Добавлено: 14.01.06 01:11
LockWindowUpdate ;) ?

Ответить

Номер ответа: 8
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #8 Добавлено: 14.01.06 09:47
Ни это ни SendMessage ListView1.hWnd, WM_SETREDRAW, 0, 0 не спасают, DoEvents каким-то образом заставляет его обновляться, все равно мигает.

Ответить

Номер ответа: 9
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #9 Добавлено: 14.01.06 14:49
Скройте ListView, покажите юзверю окошко с надписью "Заполнение данными" и кнопкой, отслеживайте как-то по-своему ее нажатие и используйте DoEvents свободно. Кстати, ListView в скрытом виде заполняется быстрее.

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 14.01.06 19:50
юзай не стандартный ListView, а API...

Ответить

Номер ответа: 11
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #11 Добавлено: 14.01.06 20:13
И что мерцать не будет? С какой стати? Слишком сложно это для меня пока что. Но за совет спасибо, любой совет приветствуюется.

Ответить

Номер ответа: 12
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #12 Добавлено: 14.01.06 20:55
Да, API не мерцает...
Блин, но столько гемору с этим API ListView.
Елки, чеж обычный-то мерцает, собака!

Ответить

Номер ответа: 13
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #13 Добавлено: 14.01.06 21:52
Блин, но столько гемору с этим API ListView.
Не, ну если с нуля самому писать то да... :))) а еси готовый юзать то вроде всё просто...

Ответить

Номер ответа: 14
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #14
Добавлено: 15.01.06 03:16
Но если записей много нужно дать возможность юзеру прервать, без DoEvents как это сделать?
GetKeyState (или GetAsyncKeyState)

Ответить

Номер ответа: 15
Автор ответа:
 Pantalone



Вопросов: 32
Ответов: 104
 Профиль | | #15 Добавлено: 20.01.06 15:18
Виктор и что, если окно прикроют, а потом глянут оно перерисуется, его можно будет свернуть, тащить, кнопки на нем нажимать? Или под каждое это действие надо будет писать что-то вроде обработчика?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам