Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Траблы с ListView Добавлено: 10.03.08 15:01  

Автор вопроса:  mrphn
Как в ListView (ms common controls 5.0) задать каждой строке цвет и чтобы при клике мыши можно было редактировать элемент в строке не только под первой колонкой?
Ps можно ли присобачить xp стиль к ListView используя ms common controls 6.0?

Ответить

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

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 10.03.08 21:33
вопрос с цветами решается при помощи CustomDraw. Можно всё что угодно сделать.

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #2
Добавлено: 11.03.08 18:26
Редактирование не только первой колонки стандартно сделать нельзя. Можно извратиться, вызывая текстбокс для редактирования в нужном месте. Это уже давно реализовано и нормально работает, ищи.

XP стиль присобачить можно (манифест). Даже появится возможность группировки.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 11.03.08 20:06
Sur, то есть чтоб разбиение на группы было обязательно нужен XP-стиль?? Вот в чем дело-то!

Ответить

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



Вопросов: 5
Ответов: 12
 Профиль | | #4 Добавлено: 12.03.08 15:37
насчет CustomDraw можно поподробнее
если кто наталкнется раньше на продвинутый listview киньте ссылку
ps
и все таки к ListView используя ms common controls 6.0 проблематично добавить стиль xp

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #5
Добавлено: 12.03.08 16:59
Всех заинтересованных могу только послать на
www.vbaccelerator.com/home/vb/Code/Controls/ListView/article.asp

Но если программа пишется с нуля, то советую присмотреться к тамошнему контролу S-Grid. Тоже не все гладко и не безглючно, но что делать... зато бесплатно.

Ответить

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



Вопросов: 5
Ответов: 12
 Профиль | | #6 Добавлено: 12.03.08 21:34
знаю этот контрол, конечно хорош собой, но не подходит

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 12.03.08 23:03
Про CustomDraw - я являюсь поклонником апишного контрола от sne)) и юзаю только его.
КустомДро выглядит примерно так (хотя тут несколько не красиво:)
Private Sub LocList_CustomDraw(ByVal lParam As Long, ret_val As Long)
If Form1.chk_DrawInList = 0 Then Exit Sub
Call CopyMemory(udtNMLVCUSTOMDRAW, ByVal lParam, Len(udtNMLVCUSTOMDRAW))
With udtNMLVCUSTOMDRAW.nmcd
    Select Case .dwDrawStage
        Case CDDS_PREPAINT
            ret_val = CDRF_NOTIFYITEMDRAW: Exit Sub
        Case CDDS_ITEMPREPAINT
            ret_val = CDRF_NOTIFYSUBITEMDRAW: Exit Sub
        Case CDDS_ITEMPREPAINT Or CDDS_SUBITEM

            If udtNMLVCUSTOMDRAW.iSubItem = 0 Then
                udtNMLVCUSTOMDRAW.clrTextBk = LocItemColor(.dwItemSpec)
                udtNMLVCUSTOMDRAW.clrText = LocTextColor(.dwItemSpec)
                Call SelectObject(.hdc, iFont.hFont)
            ElseIf udtNMLVCUSTOMDRAW.iSubItem = 12 Then 'Номер локации: 7-ой кегль, курсив, серый цвет
                udtNMLVCUSTOMDRAW.clrText = IndexColour(.dwItemSpec)
                iFont.Size = 7: iFont.Italic = True: Call SelectObject(.hdc, iFont.hFont): iFont.Size = 8: iFont.Italic = False
            ElseIf udtNMLVCUSTOMDRAW.iSubItem = 7 Then 'Шрифт ArialNar. от 7-ого до
                iFont.Italic = True: Call SelectObject(.hdc, iFont.hFont): iFont.Italic = False
            ElseIf udtNMLVCUSTOMDRAW.iSubItem = 11 Then '...до 10-ого элемента включительно
                Call SelectObject(.hdc, iFont.hFont)
            End If
            
            CopyMemory ByVal lParam, udtNMLVCUSTOMDRAW, Len(udtNMLVCUSTOMDRAW)
            ret_val = CDRF_NEWFONT
    End Select
End With
End Sub

Ответить

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



Вопросов: 5
Ответов: 12
 Профиль | | #8 Добавлено: 13.03.08 15:03
спасиб, счас поковыряюсь)

Ответить

Страница: 1 |

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



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