Страница: 1 | 2 | 3 | 4 |
Вопрос: ListView, Highlight строку
Добавлено: 01.09.10 22:40
Автор вопроса:
Ответы
Всего ответов: 46
Номер ответа: 31
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #31
Добавлено: 08.09.10 22:03
Понятно, спасибо.
Я написал так:
В этом случае k=1
Если Вы посмотрите на мои коды (строки 265-282), то увидите, что я проверяю на какой вкладке я нахожусь. Именно для случая k=1 "включается" процедура DisplayDogs(), то есть там, где нет подсветки
Номер ответа: 32
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #32
Добавлено: 08.09.10 22:09
Так.. давайте проясним.. чем у вас является pgfDogsInfo, а чем lsvDogs?
Номер ответа: 33
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #33
Добавлено: 08.09.10 22:18
Некоторые предварительные пояснения. Я "перекладываю" свои проекты с FoxPro, поэтому сохранил некоторые имена. В FoxPro, TabControl называется pageframe, отсюда - pgf. Итак, pgfDogsInfo - TabControl, pgeDogs и pgeTags - TabPages (или вкладки), lsvDogs и lsvTgs - ListViews на вкладках pgeDogs и pgeTags соответственно.
Номер ответа: 34
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #34
Добавлено: 08.09.10 22:35
Ок, тогда в процедуре pgfDogsInfo_Selected (при выборе "дефектной" вкладки) после строки DisplayDogs() вставьте lsvDogs.Focus()
Номер ответа: 35
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #35
Добавлено: 08.09.10 22:40
Вставил. Не подсвечивается.
Прежде, чем мы продолжим... У меня Visual Studio 2005. Может это быть причиной? Хотя, с другой стороны, в другом месте-то работает...
Номер ответа: 36
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #36
Добавлено: 08.09.10 23:10
Я не знаю, это поможет или нет...
У меня есть ещё одна форма, где я использую ListView. Так вот, при отладке я заметил, что в той форме после строки
lsvDogs.Items(SelDog).Selected = True
сразу выполняется процедура
lsvDogs_ItemSelectionChanged (в обозначениях данной формы), а в этой форме указанная процедура выполняется самой последней, то есть, даже после команды Focus()
Но даже если я поставлю фокус в конце этой процедуры, строка всё равно не подсвечивается.
Номер ответа: 37
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #37
Добавлено: 08.09.10 23:12
Версия студии роли не играет..
Так, тогда идем в DisplayDogs и ставим BreakPoint на строчку lsvDogs.Items(SelDog).Selected = True и проверяем значение SelDog, возможно оно имеет индекс несуществующией строки.. -1 или 100500 .. в этом случае не будет выделенной строки..
Номер ответа: 38
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #38
Добавлено: 08.09.10 23:15
SelDog = 0
Номер ответа: 39
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #39
Добавлено: 08.09.10 23:18
Я уже писал, что когда я добавил к своим кодам команду
строка стала "как бы" повсвечиваться серым цветом
Номер ответа: 40
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #40
Добавлено: 08.09.10 23:38
Мда, тяжелый случай...
Ваш lsvDogs, по каким то причинам не получет фокус, надо искать кто его отбирает..
Номер ответа: 41
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #41
Добавлено: 08.09.10 23:42
Сейчас попробую...
Номер ответа: 42
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #42
Добавлено: 08.09.10 23:47
Вот что попробуйте сделать.. поставьте breakpoint на lsvDogs_ItemSelectionChanged и проанализируйте какие строки у вас выделяются при переходе по вкладкам..
Номер ответа: 43
Автор ответа:
Вопросов: 1
Ответов: 26
Профиль | | #43
Добавлено: 09.09.10 00:00
Это я уже проверял раньше. Всегда - нулевая.
Кстати, я добавил одну строку к кодам
Мне надо уходить. Спасибо за помощь. Я не думаю, что Вы как-то сможете мне помочь. Вы стараетесь найти ошибку в логике, но я думаю, что проблема в самих контолах. Я, правда, прошёлся по всем параметрам в обоих ListView, и не нашёл различия, но всё же я думаю, что я что-то упускаю...
Ещё раз - спасибо за Ваше время. Если будет желание со мной просто переписываться, напишите.
До свидания
Иосиф
Номер ответа: 44
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #44
Добавлено: 09.09.10 00:02
Проблема в контроле исключена..
удачи..
Номер ответа: 45
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #45
Добавлено: 09.09.10 08:45
Ошибка в контроле FCL? Которую не нашли за 10 лет? Кроме слова "удачи" мне тоже добавить нечего