Люди помогите, задолбал ListView матьево...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Люди помогите, задолбал ListView матьево...

Сообщение BION » 27.11.2007 (Вт) 17:40

Вот, перепробовал все, и в инете смотрел - пытаюсь LVM_SETTEXTBKCOLOR сделать. Все должно работать, но фон все равно получается зеленым =(
Код: Выделить всё
Const LVM_FIRST                 As Long = &H1000      ' ListView messages
Const LVM_SUBITEMHITTEST        As Long = LVM_FIRST + 57
Const LVM_SETTEXTBKCOLOR = (LVM_FIRST + 38)
Const LVM_GETTEXTBKCOLOR        As Long = LVM_FIRST + 37
Const LVM_REDRAWITEMS = LVM_FIRST + 21

'Const LVM_SETTEXTBKCOLOR = 4134 'магическое число
Const LVM_UPDATE = 4138 'еще одно магическое число (взяты мз МСДН-а)
Const LVM_GETITEMCOUNT As Long = 4100 ' получаем количество иконнок
'Const LVM_REDRAWITEMS As Long = 4117 ' перерисовываем иконки

Const CLR_NONE = &HFFFFFFFF
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function InvalidateRect Lib "user32" (ByVal hWnd As Long, lpRect As Any, ByVal bErase As Long) As Long
Private Declare Function UpdateWindow Lib "user32" (ByVal hWnd As Long) As Long


Private Sub Form_Load()
    Dim itm As ListItem
    Dim col As ColumnHeader
   
    Dim SLV As Long ' хэндл SysListView32
    Dim c As Long
    Dim IconCount As Integer
   
    Set col = ListView.ColumnHeaders.Add(, , "1")
    Set col = ListView.ColumnHeaders.Add(, , "1")
   
    Set itm = ListView.ListItems.Add(, , "FDaSFA")
    Set itm = ListView.ListItems.Add(, , "FDaSFA")
    Set itm = ListView.ListItems.Add(, , "FDaSFA")
    Set itm = ListView.ListItems.Add(, , "FDaSFA")
    Set itm = ListView.ListItems.Add(, , "FDaSFA")
   
    SLV = ListView.hWnd
    c = SendMessage(SLV, LVM_SETTEXTBKCOLOR, 0, &HEBEBEB) ' шлем месагу на замену цвета
    IconCount = SendMessage(SLV, LVM_GETITEMCOUNT, 0, 0) ' получаем количество итемов..
    c = SendMessage(SLV, LVM_REDRAWITEMS, 0, IconCount - 1) 'перерисовали
    c = SendMessage(SLV, LVM_UPDATE, 1, 0) 'шлем сообщение на апдейт

End Sub


... И почему зеленым ....?

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Re: Люди помогите, задолбал ListView матьево...

Сообщение EUGY » 27.11.2007 (Вт) 19:34

BION писал(а): Dim SLV As Long ' хэндл SysListView32

Может ListView20WndClass не полный аналог SysListView32?

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Люди помогите, задолбал ListView матьево...

Сообщение BION » 28.11.2007 (Ср) 0:09

EUGY писал(а):
BION писал(а): Dim SLV As Long ' хэндл SysListView32

Может ListView20WndClass не полный аналог SysListView32?


Да, вот меня и смущает то, что SysListView32 и ListView из Common'ов 6? , не совсем идентичны, т.к. делал тоже самое на PB und CPP с SysListView32 - все было тип-топ, а тут такая шняга.

Придеться наверн дравить самому SysListView32 на форме... факин бич...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.11.2007 (Ср) 9:43

Лучший способ понять что-то самому — объяснить это другому.

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Сообщение BION » 28.11.2007 (Ср) 11:11

Antonariy писал(а):Ы?


Ку! Пасиба! Ч.т.д. - один фиг рисовать надобна, на коммоне6 не развернеся.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 60

    TopList