Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент? / 25 сообщений из 44, страница 1 из 2
17.05.2010, 16:11
    #36632435
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
...
Рейтинг: 0 / 0
17.05.2010, 16:19
    #36632467
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Код: plaintext
Set ListView1.ListItems.SelectedItem=Nothing
...
Рейтинг: 0 / 0
17.05.2010, 16:26
    #36632486
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.Pro
Код: plaintext
Set ListView1.ListItems.SelectedItem=Nothing

мда..Спасибо! :)
...
Рейтинг: 0 / 0
19.05.2010, 16:55
    #36637267
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Set ListView1.ListItems.SelectedItem=Nothing

Срабатывает, но все же после загрузки инфы в листвью и первом на него переходе, подсвечивается элемент (как правило первый)
я могу коротенькое видео записать ,как это выглядит. В проводнике хрюшки нет такого.

То же самое и при удалении записей, нужно разрулить
...
Рейтинг: 0 / 0
19.05.2010, 17:04
    #36637313
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Код: plaintext
1.
2.
Me.TreeView1.HideSelection = True
Set Me.TreeView1.SelectedItem = Nothing
Set Me.TreeView1.DropHighlight = Nothing
...
Рейтинг: 0 / 0
19.05.2010, 18:36
    #36637540
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
А как можно находясь внутри обработчика одного события, запретить другое?

Например, ка сделать чтоб находясь внутри события "клик на элементе листвью"
Код: plaintext
Private Sub lvListView_ItemClick(ByVal Item As MSComctlLib.ListItem)
запретить
Код: plaintext
Private Sub lvListView_Click()

Стараюсь сделать прогу которая по функционалу похожа на проводник виндовый, так вот там если кликаешь не элементе листвью, то он естесна подсвечивается, а если на пустом месте лист вью, то выделение снимается.
Вот я и думаю, что если сделать так, чтоб после того как попал в обработчик lvListView_ItemClick, уже не вываливаться в lvListView_Click в котором находится код которой сбрасывает выделение
...
Рейтинг: 0 / 0
19.05.2010, 19:06
    #36637590
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiА как можно находясь внутри обработчика одного события, запретить другое?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim DoNotClick As Boolean
...

Private Sub lvListView_ItemClick(ByVal Item As MSComctlLib.ListItem)

DoNotClick = True
...
...
DoNotClick = False

End Sub
Private Sub lvListView_Click()

If DoNotClick Then Exit Sub
...
...

End Sub
...
Рейтинг: 0 / 0
19.05.2010, 19:20
    #36637609
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.Protutti-fruttiА как можно находясь внутри обработчика одного события, запретить другое?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim DoNotClick As Boolean
...

Private Sub lvListView_ItemClick(ByVal Item As MSComctlLib.ListItem)

DoNotClick = True
...
...
DoNotClick = False

End Sub
Private Sub lvListView_Click()

If DoNotClick Then Exit Sub
...
...

End Sub




Где то так и делал, но получается, что во время переименования с помощью мыши, нужно делать так: нажал один раз. а немного погодя второй раз и типа должен врубиться режим переименования папки. Но так как If DoNotClick Then Exit Sub не срабатывает, то выполняется очистка выделения вместо перехода в режим редактирования.
...
Рейтинг: 0 / 0
19.05.2010, 19:59
    #36637694
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Отрабатывайте событие BeforeLabelEdit
...
Рейтинг: 0 / 0
19.05.2010, 20:32
    #36637759
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.ProОтрабатывайте событие BeforeLabelEdit

Он ваще не вызывается. Он сработает только тогда, когда уже начнется само редактирование.
Лан, что-то придумаю.
...
Рейтинг: 0 / 0
19.05.2010, 20:44
    #36637790
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiShocker.ProОтрабатывайте событие BeforeLabelEdit

Он ваще не вызывается. Он сработает только тогда, когда уже начнется само редактирование.
Лан, что-то придумаю.

Видимо, Click вызывается до этого события....

Попробуйте так: при клике в пустом месте не стирать сразу SelectedItem, а сделать DoEvents и убедиться в том, что BeforeLabelEdit не было.
...
Рейтинг: 0 / 0
20.05.2010, 14:09
    #36639060
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.Protutti-fruttiShocker.ProОтрабатывайте событие BeforeLabelEdit

Он ваще не вызывается. Он сработает только тогда, когда уже начнется само редактирование.
Лан, что-то придумаю.

Видимо, Click вызывается до этого события....

Попробуйте так: при клике в пустом месте не стирать сразу SelectedItem, а сделать DoEvents и убедиться в том, что BeforeLabelEdit не было.

А можно поподробнее, у меня что-то не получается разобраться:(
Нужно чтобы получилось ровно так как это сделано в проводнике ХР: кликаешь разочек на пустом месте лист вью - выделение снимается, кликаешь по элементам листвью - естественно остается, при этом работает режим редактирования (переименования) элементов.

DoEvents, это типа предложить операционке заняться чем-то более важным. а не висеть в полинге над какм-то полем со списком с писец каким приоритетом. Но мне то что это дает?
...
Рейтинг: 0 / 0
20.05.2010, 14:41
    #36639167
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiDoEvents, это типа предложить операционке заняться чем-то более важным. а не висеть в полинге над какм-то полем со списком с писец каким приоритетом. Но мне то что это дает?

Блин, откуда вы берете такую странную информацию (все еще не могу отойти от вашего перевода простого сообщения про ImageList)
DoEvents - это предложение VB переставить текущее (обрабатываемое) событие в конец очереди событий)

Допустим у вас срабатывает два события:
Click
BeforeLabelEdit

Вы обрабатываете Click - уводите фокус и BeforeLabelEdit просто уже не срабатывает.
Попробуйте при обработке Click поставить DoEvents, прежде, чем вы уведете фокус. Обработка Click приостановится, начнут выполняться следующие события, в частности BeforeLabelEdit. Далее управление вернется к команде, следующей за DoEvents и тут вы уже должны решить. Если BeforeLabelEdit был, то не отрабатывать увод фокуса.
...
Рейтинг: 0 / 0
20.05.2010, 15:09
    #36639270
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
нет, так не получается.
вот обработчик lvListView_Click()
Код: plaintext
1.
2.
3.
4.
5.
Private Sub lvListView_Click()
   If DoNotClick Then Exit Sub
   DoEvents
   Set TempObject = Me.lvListView.Object
  'TempObject.SelectedItem = Nothing
End Sub

вот lvListView_BeforeLabelEdit
Код: plaintext
1.
2.
3.
Private Sub lvListView_BeforeLabelEdit(Cancel As Integer)
Dim s As String
s = "Пливет:)"
End Sub

после DoEvents не вызывается BeforeLabelEdit:(
...
Рейтинг: 0 / 0
20.05.2010, 15:27
    #36639333
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
А Click-то вызывается при повторном нажатии?
Давайте так
Дайте форму с ListView и кодом, очищенном от всего постороннего - поковыряю.
А то умозрительно как-то тяжело.
...
Рейтинг: 0 / 0
20.05.2010, 15:34
    #36639372
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.ProА Click-то вызывается при повторном нажатии?
Давайте так
Дайте форму с ListView и кодом, очищенном от всего постороннего - поковыряю.
А то умозрительно как-то тяжело.

Очистить от всего постороннего не получится, мне нужно еще определиться что для меня будет важным ,а что второстепенным.
Ловите "ADLib.rar". Развернете в корень С.
Внутри папки ADLib папка DbLib, внутри нее и база и проект "Project1.vbp"

---
Сразу не удаляйте с диска, у меня будет еще много вопросов.
...
Рейтинг: 0 / 0
20.05.2010, 15:38
    #36639397
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiОчистить от всего постороннего не получится, мне нужно еще определиться что для меня будет важным ,а что второстепенным.

Ох, зря вы весь свой код выложили! Щас как начнем все критиковать
...
Рейтинг: 0 / 0
20.05.2010, 15:43
    #36639411
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.Protutti-fruttiОчистить от всего постороннего не получится, мне нужно еще определиться что для меня будет важным ,а что второстепенным.

Ох, зря вы весь свой код выложили! Щас как начнем все критиковать

После хорошего шторма, можно сундук с золотом найти. Критикуйте, мне не помешает.
...
Рейтинг: 0 / 0
20.05.2010, 15:46
    #36639423
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Вот почему надписи менюхи (File/Edit/View/Help) фонят былым цветом?
Можно настроить TreeView так, чтоб отступ был немного побольше от края. Слишком близко тулятся иконки к "бордюрам" ?
У формы есть что-то типа сетки, с шагом которой все движется. Можно его поменять, меня не устраивает толщина "переборочки" между лист и три вью..
...
Рейтинг: 0 / 0
20.05.2010, 15:52
    #36639452
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiВот почему надписи менюхи (File/Edit/View/Help) фонят былым цветом?
Можно настроить TreeView так, чтоб отступ был немного побольше от края. Слишком близко тулятся иконки к "бордюрам" ?
У формы есть что-то типа сетки, с шагом которой все движется. Можно его поменять, меня не устраивает толщина "переборочки" между лист и три вью..

У себя артефактов не наблюдаю. Покажите скрин
...
Рейтинг: 0 / 0
20.05.2010, 15:54
    #36639458
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiПосле хорошего шторма, можно сундук с золотом найти. Критикуйте, мне не помешает.

Тээээкс.... Марш читать!
http://www.sql.ru/forum/actualthread.aspx?tid=746345
...
Рейтинг: 0 / 0
20.05.2010, 15:54
    #36639461
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
После удаления записи(сей) из листвью, курсот прыгает на первый элемент.
вот я сейчас попробовал делать
Код: plaintext
1.
   Set TempObject = Me.lvListView.Object
   TempObject.SelectedItem = Nothing
но это выделялку не сбрасывает ,шо делать?
...
Рейтинг: 0 / 0
20.05.2010, 15:56
    #36639467
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
tutti-fruttiПосле удаления записи(сей) из листвью, курсот прыгает на первый элемент .

Наблюдаю противоречие. Вы не наблюдаете
...
Рейтинг: 0 / 0
20.05.2010, 15:57
    #36639474
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.ProВы не наблюдаете

Это был вопрос

*?
...
Рейтинг: 0 / 0
20.05.2010, 16:07
    #36639519
tutti-frutti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
Shocker.ProShocker.ProВы не наблюдаете

Это был вопрос

*?

А вот Вы попробуйте в проводнике кильнуть файл, вот там ниче и нечему не противопречит. Вот нет выделения на первой позиции, нет!

Артефакты:
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент? / 25 сообщений из 44, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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