Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / В ListView выделить цветом всю строку / 19 сообщений из 19, страница 1 из 1
30.04.2004, 12:15
    #32504220
almmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
В ListView нужно выделить цветом всю строку, а у меня выделяется только первый столбец:
'
For i = 1 To lvDate.ListItems.Count
If lvDate.ListItems(i).SubItems(nomlvDt_Nomer) = "6" Then
lvDate.ListItems.Item(i).ForeColor = vbBlue
lvDate.ListItems.Item(i).Bold = True
End If
Next

Где я ошибаюсь ?
...
Рейтинг: 0 / 0
30.04.2004, 13:06
    #32504377
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
'выдрано из ListView Effects Demo
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
   (ByVal hwnd As Long, _
    ByVal Msg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) As Long
     
    Public Const LVM_FIRST = &H1000
    Public Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
    Public Const LVS_EX_FULLROWSELECT = &H20

Private Sub Test()
   Dim rStyle As Long
   rStyle = SendMessageLong(ListView1.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)
   rStyle = rStyle Or LVS_EX_FULLROWSELECT
   r = SendMessageLong(ListView1.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0&, rStyle)
End Sub
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.07.2007, 13:40
    #34647413
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
У меня на всю строку не работает.
Да и мне кажется по названию константы (FULLROWSELECT), что в примере делается несколько не то...
...
Рейтинг: 0 / 0
09.07.2007, 16:00
    #34647974
sandreynik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Предыдущий код работал. Вот еще один из MSDN

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

Const LVS_EX_FULLROWSELECT = &H20
Const LVM_FIRST = &H1000
Const LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + &H37
Const LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + &H36

Private Sub Command1_Click()
Dim lStyle As Long
lStyle = SendMessage(ListView1.hwnd, _
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
lStyle = lStyle Or LVS_EX_FULLROWSELECT
Call SendMessage(ListView1.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, _
0, ByVal lStyle)

Me.ListView1.SelectedItem.ForeColor = vbBlue
End Sub

Private Sub Form_Load()
'Add two Column Headers to the ListView control
Set clmAdd = ListView1.ColumnHeaders.Add(Text:="Name")
Set clmAdd = ListView1.ColumnHeaders.Add(Text:="Date")

'Set the view property of the Listview control to Report view
ListView1.View = lvwReport

'Add data to the ListView control
Set itmAdd = ListView1.ListItems.Add(Text:="Joe")
itmAdd.SubItems(1) = "05/07/97"

Set itmAdd = ListView1.ListItems.Add(Text:="Sally")
itmAdd.SubItems(1) = "04/08/97"

Set itmAdd = ListView1.ListItems.Add(Text:="Bill")
itmAdd.SubItems(1) = "05/29/97"

Set itmAdd = ListView1.ListItems.Add(Text:="Fred")
itmAdd.SubItems(1) = "05/17/97"

Set itmAdd = ListView1.ListItems.Add(Text:="Anne")
itmAdd.SubItems(1) = "04/01/97"
End Sub
...
Рейтинг: 0 / 0
09.07.2007, 18:44
    #34648589
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Property pages для ListView
отметить FullRowSelect
...
Рейтинг: 0 / 0
10.07.2007, 02:27
    #34649036
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Letter_D,
Забавно... Глюк, видимо (Common Control 6.0 (SP6)). Изменения свойств ListSubItem не отобразятся, пока окно не будет перерисовано:
Код: plaintext
 ListView1.SelectedItem.ForeColor = vbBlue \'первый столбец\n ListView1.SelectedItem.Bold = True\n ListView1.SelectedItem.ListSubItems( 1 ).ForeColor = vbBlue \'второй столбец\n ListView1.SelectedItem.ListSubItems( 1 ).Bold = True\n ListView1.Refresh \'без этого плохо
Если хочется сменить фон, см., к примеру, здесь, или на mvps.org.
...
Рейтинг: 0 / 0
10.07.2007, 12:27
    #34649898
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Ай!
Заработало!

:))
Спасибо.
...
Рейтинг: 0 / 0
11.11.2007, 08:12
    #34930442
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Привет всем.
Вы обсуждаете,как выделить ... в ListView 6 версии
Я использую стили XP в своем приложении,они работают только с listView 5
Существует ли другой способ ,кроме SubClass' инга для изменения цвета в ListView 5
И кто знает, как подключить стили XP для ListView 6
Заранее спасибо.
...
Рейтинг: 0 / 0
11.11.2007, 11:58
    #34930526
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
P.R.O.M.A.R.K,
посмотри это , может, поможет.
...
Рейтинг: 0 / 0
11.11.2007, 14:35
    #34930656
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
БенедиктP.R.O.M.A.R.K,
посмотри это , может, поможет.
Бенедикт,спасибо за исходник, но он у меня уже есть...
Скажи, почему у меня в ListView 6 версии CommonControls не активируются стили XP?
...
Рейтинг: 0 / 0
12.11.2007, 10:44
    #34931457
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Потому что by design.
...
Рейтинг: 0 / 0
12.11.2007, 10:52
    #34931475
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
AntonariyПотому что by design.
Я тебя не понял.
Объясни,пожалуйста...
...
Рейтинг: 0 / 0
12.11.2007, 11:00
    #34931497
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Потому что шестые контролы сделаны так, что не поддерживают стили.
...
Рейтинг: 0 / 0
12.11.2007, 11:38
    #34931607
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
P.R.O.M.A.R.K,
by design. Известный факт, но я не припомню разумного объяснения от MS, "а почему, собственно". AFAIR, user control-ы - обёртки системных окон соответствующих классов, поддерживают стили. Примеры таких элементов управления можно найти на vbAccelerator .
...
Рейтинг: 0 / 0
13.11.2007, 09:22
    #34934160
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Ну теперь все понятно...
...
Рейтинг: 0 / 0
13.11.2007, 09:32
    #34934180
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Вопрос:
Встречали,где-нибудь,кнопки в XP стиле с рисунками например в программе DUMeter на кнопках рисуются стрелки.
Это еализуется только через SubClass'инг или еще както,так чтобы присутствовали XP стили?
Заранее спасибо...
...
Рейтинг: 0 / 0
13.11.2007, 10:56
    #34934478
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Либо через сабклассинг либо получением графических элементов текущей темы и отрисовкой их в юзерконтролах.
...
Рейтинг: 0 / 0
15.11.2007, 12:21
    #34941544
P.R.O.M.A.R.K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
Antonariy... либо получением графических элементов текущей темы и отрисовкой их в юзерконтролах.
Поясни,пожалуйста.
...
Рейтинг: 0 / 0
15.11.2007, 12:52
    #34941714
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В ListView выделить цветом всю строку
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / В ListView выделить цветом всю строку / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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