Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как избавится от мерцания в ListView ,VB6???? / 7 сообщений из 7, страница 1 из 1
27.10.2011, 19:19
    #37501428
Eugen2011
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Всем привет! Использую ListView 5, в VB6, от мерцания в глазах рябит, как от этого избавиться может кто знает? Заранее всем огромное спасибо!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function InitCommonControls Lib "comctl32.dll" () As Long
Dim column_header As ColumnHeader
Dim list_item As ListItem

Private Sub Form_Initialize()
Call InitCommonControls
End Sub

Private Sub Command1_Click()
Dim i As Long
ListView1.ListItems.Clear
For i =  0  To  1000 
        List1.AddItem "Ready-to-Run Visual Basic Algorithms"
        Set list_item = ListView1.ListItems.Add(, , "VBA")
        list_item.SubItems( 1 ) = "Ready-to-Run Visual Basic Algorithms"
        list_item.SubItems( 2 ) = "0-471-24268-3"
    Sleep  10 
    DoEvents
    ListView1.Refresh
Next i    
End Sub


Private Sub Form_Load()
    Set column_header = ListView1. _
        ColumnHeaders.Add(, , "Abbrev", _
        TextWidth("Abbrev"))
    Set column_header = ListView1. _
        ColumnHeaders.Add(, , "Title", _
        TextWidth("Ready-to-Run Visual Basic Algorithms"))
    Set column_header = ListView1. _
        ColumnHeaders.Add(, , "ISBN", _
        TextWidth("0-000-00000-0"))
End Sub

...
Рейтинг: 0 / 0
27.10.2011, 19:22
    #37501435
Eugen2011
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Забыл указать
Код: plaintext
ListView1.View = lvwReport
...
Рейтинг: 0 / 0
28.10.2011, 03:51
    #37501812
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Убрать вот это:

Код: plaintext
1.
2.
    Sleep  10 
    DoEvents
    ListView1.Refresh
...
Рейтинг: 0 / 0
28.10.2011, 08:31
    #37501916
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Наверное Sleep и DoEvents используются для анимации, можно оставить.
...
Рейтинг: 0 / 0
28.10.2011, 18:25
    #37503281
Eugen2011
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
DoEvents использую для отображения добавляемых строк в listView, а также на форме присутствует счётчик циклов, поэтому без DoEvents ни как.
...
Рейтинг: 0 / 0
28.10.2011, 18:35
    #37503293
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long


Private Sub Command1_Click()
Dim i As Long

LockWindowUpdate ListView1.hwnd

With ListView1
.ListItems.Clear
For i =  0  To  1000 
        List1.AddItem "Ready-to-Run Visual Basic Algorithms"
        Set list_item = .ListItems.Add(, , "VBA")
        list_item.SubItems( 1 ) = "Ready-to-Run Visual Basic Algorithms"
        list_item.SubItems( 2 ) = "0-471-24268-3"
    DoEvents
Next
End with

LockWindowUpdate  & 0 

End Sub
...
Рейтинг: 0 / 0
28.10.2011, 19:30
    #37503375
Eugen2011
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как избавится от мерцания в ListView ,VB6????
Konst_One, Спасибо за пример. Но в твоём примере окно просто становится пустым, и даже заголовки столбцов исчезают, а затем добавляются все элементы сразу, одновременно. А мне хотелось бы отобразить весь процесс добавления строк.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как избавится от мерцания в ListView ,VB6???? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]