powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
19 сообщений из 44, страница 2 из 2
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639535
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LostFocus обрабатывайте у своего дерева
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639563
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneLostFocus обрабатывайте у своего дерева

Сори, но не понял какие из мох трудностей это решает?
Напоминаю, из существенного:

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


проект на первой странице. Спасибо!
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639576
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже вам всё ответил, вам осталось только код ввставить в нужные события: click, lostfocus
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639593
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Я тоже не понял, как обработкой LostFocus у дерева можно решить проблемы, возникающие в пределах фокуса Листвью (дерева, грубо говоря, вообще может не быть на форме)
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639608
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у листвью есть аналогичные события, вы не можете сменить фокус на другой контрол в своём проекте?

Object Browser надеюсь вы знаете где, там все свойства контрола посмотрите
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639645
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneу листвью есть аналогичные события, вы не можете сменить фокус на другой контрол в своём проекте?

Это не особо помогает.

Тут какая-то фигня с листвью интересная:
При SelectedItem=Nothing синее выделение может быть, а может и не быть, при этом это еще и не зависит от того, где фокус и чему равно HideSelection
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639669
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKonst_Oneу листвью есть аналогичные события, вы не можете сменить фокус на другой контрол в своём проекте?

Это не особо помогает.

Тут какая-то фигня с листвью интересная:
При SelectedItem=Nothing синее выделение может быть, а может и не быть, при этом это еще и не зависит от того, где фокус и чему равно HideSelection

может это как - то настраивается в свойствах и в дисижнтайме?
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36639734
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

В общем, как получается...
В пределах фокуса (то есть фокус никуда не убираем ни программно, ни пользователем)

Есть выделенная позиция. Она синенькая и обведена точечками (фокус ListItema)
Щелкаем мышой мимо всех позиций - ничего не меняется.
Делаем программно SelectedItem=Nothing
Точечки вокруг позиции исчезают. Синенькое остается.
Щелкаем мышой мимо всех позиций - синенькое тоже исчезает.

ТС никак не может избавиться от промежуточного состояния - синенькое есть, а точечек нет. Хочет сразу - щелкнул мимо - точечки и синенькое убралось.

Я тоже немного в затупе.
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640174
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сброс выделения сделал так, типа работает именно так как было нужно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub lvListView_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

    Dim TempObject As Object

    If Me.lvListView.HitTest(x, y) Is Nothing Then
        Set TempObject = Me.lvListView.Object
        TempObject.SelectedItem = Nothing
    End If

End Sub

Сейчас покумекаю как быть с удалением
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640205
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой смысл в конструкции:
Код: plaintext
1.
2.
    Dim TempObject As Object
    Set TempObject = Me.lvListView.Object
    TempObject.SelectedItem = Nothing

Почему нельзя непосредственно?
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640213
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА какой смысл в конструкции:
Код: plaintext
1.
2.
    Dim TempObject As Object
    Set TempObject = Me.lvListView.Object
    TempObject.SelectedItem = Nothing

Почему нельзя непосредственно?

Я сначала планирую получить работающий прототип программы, потом буду исправлять вот всю эту грязюку. Скопипастил где-то.

С удалением совсем все плохо:(
Я даже не могу врубиться откуда оно это выделение берется!? Ведь заполняется Листвью без финального подсвачивания первой позиции! У меня после удаления данных из базы данных вызывается функция которая наполняет данными листвью, точ такая как и та которая вызывается при кликах на нодах тривью.
Блин, шота тут не то..и без водолаза тут не обойтись:)
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640935
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы боретесь с ветрянными мельницами:


Код: 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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
Option Explicit

Private Sub Form_Load()
Dim i As Integer
Dim lv As ListItem

With Me.ListView1
    
    .Appearance = cc3D
    .BorderStyle = ccFixedSingle
    .Checkboxes = False
    .ColumnHeaders.Add , "k1", "name"
    .FlatScrollBar = False
    .FullRowSelect = True
    .GridLines = True
    .HideSelection = True
    .HotTracking = False
    .HoverSelection = False
    .LabelEdit = lvwManual
    .LabelWrap = False
    .MultiSelect = False
    .View = lvwReport
    
    
    
    i =  1 
    Do While i <  15 
        Set lv = .ListItems.Add(i, "k_" & i)
        lv.Text = "item " & i
        lv.Selected = False
        lv.Ghosted = False
        i = i +  1 
    Loop
    
    Set .DropHighlight = Nothing
    Set .SelectedItem = Nothing
    
End With

End Sub

Private Sub Form_Resize()
On Error Resume Next

Me.ListView1.Move  0 ,  0 , Me.ScaleWidth, Me.ScaleHeight

End Sub

Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Me.ListView1.HitTest(x, y) Is Nothing Then
    Set ListView1.DropHighlight = Nothing
    Set ListView1.SelectedItem = Nothing
End If
End Sub

вы так хотели?
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640976
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Во. Вот то, что я пытался косноязычно объяснить. Сам не сталкивался с этим свойством, поэтому не смог посоветовать.
MSDNDropHighlight Property (ListView, TreeView Controls)

Returns or sets a reference to a Node or ListItem object that is highlighted with the system highlight color when the cursor moves over it.
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36640979
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProKonst_One,

Во. Вот то, что я пытался косноязычно объяснить. Сам не сталкивался с этим свойством, поэтому не смог посоветовать.
MSDNDropHighlight Property (ListView, TreeView Controls)

Returns or sets a reference to a Node or ListItem object that is highlighted with the system highlight color when the cursor moves over it.

я вам в самом начале уже пример дал, а вы всё никак применить не можете
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36641069
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneя вам в самом начале уже пример дал, а вы всё никак применить не можете

ёёёёёёёёёёёёёёёёёёёё
посыпаю голову пеплом, пропустил этот пост... сейчас нашел поиском.

автору посыпать не буду, пусть сам себе посыпает.

извини (смайлик *SORRY* из кипа)
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36642958
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не плодить темы спрошу тут, хоть связь с началом уже и не "аутентична"

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

На нашел
а) на рисунке изображений в заголовках таблицы.
6) связи между изображениями и возможностью копировать/вставлять

Кроме того, про какой контрол вы спрашиваете?
...
Рейтинг: 0 / 0
Как сделать так, чтоб при получении ListView фокуса не подсвечивался ни один его элемент?
    #36642984
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а) я писал "приблизительно как на рисунке"
б) нет связи, фик с ними с рисунками.

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

Я могу сказать, что есть два пути:
1) Использовать сетку, которая может установить связь с базой (DBGrid, если не ошибаюсь ну и всякие от сторонних разработчиков). Она будет непосредственно связана с ячейками таблицы, редактировать ее и т.п. Не знаю, как у нее с копирование/вставкой целых строк, не уверен.
Этот путь простой, но чреват борьбой с майкрософтом и ограниченными возможностями.

2) Использовать несвязанную сетку. Тогда посредника между сеткой и базой, а также редакторы ячеек и пр. пишете самостоятельно. Это путь джедая, зато можно сделать себе все, что нравится.

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


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