Страница: 1 |
Страница: 1 |
Вопрос: TreeView, DblClick
Добавлено: 03.04.05 20:37
Автор вопроса: KAM | ICQ: 190197618
У меня возникла такая проблема при обработке события DblClick элемента TreeView.
Вот код:
Private Sub tw1_DblClick()
If tw1.SelectedItem.Image = "zzz" Then
........
End If
End Sub
Проблема в том, что при двойном клике на самом первом ноде работа приложения останавливаеться и выдаеться такое сообщение:
Object variable Or With block variable not set
При этом выделяеться строка
Как от этого избавиться и в чем проблема - ума не приложу...
Вообщем помогите чем можите..
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 04.04.05 08:17
Наверное у тебя по идентификатору "zzz" - пусто.
Написано же
Объектная переменная или блок WITH не установлены.
Номер ответа: 2
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #2
Добавлено: 04.04.05 13:49
Нее, в том то и дело, что установлено.
Такая ошибка вылетает даже когда я сравниваю текст нода или его ключ (и то и другое установлено)
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 04.04.05 15:16
У меня хелпа сейчас нет под рукой. А ты уверен что свойство Image именно текстового, а не объектного типа?
Попробуй перед условием вставить строку:
Debug.Print tw1.SelectedItem.Image
и посмотри что он вернёт. Если опять ошибку, значит у тебя там действительно пусто.
Номер ответа: 4
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #4
Добавлено: 04.04.05 16:39
Да я уж так делал - выдает строковое значение key картинки в прикрепленном к TreeView имедж листе.
Но в том то и дело, что иногда имдж у нода есть, а возвращаеться пустота, вот тогда то и вылетает ошибка...
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 04.04.05 16:49
Кидай на bp@pochtamt.com.
Если хватит времени - гляну дома.
Номер ответа: 6
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #6
Добавлено: 04.04.05 21:09
Отправил...
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 04.04.05 22:03
Не, я не буду в этом ковыряться - слишком занят.
Ищи сам ошибку.
Номер ответа: 8
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #8
Добавлено: 05.04.05 08:32
2CyRAx:
Заметано
Номер ответа: 9
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #9
Добавлено: 05.04.05 08:33
Да, совсем забыл: где бы мне взять документацию к этому элементу управления?
Номер ответа: 10
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #10
Добавлено: 05.04.05 09:50
Наверное на сайте Микрософта. У меня MSDN'98 - там всё есть.
Номер ответа: 11
Автор ответа:
KAM
ICQ: 190197618
Вопросов: 25
Ответов: 97
Профиль | | #11
Добавлено: 05.04.05 19:14
Я вроде нашел решение (извращенное ) мое проблемы:
Dim lDblClck As Boolean
Private Sub tw1_Click()
lDblClck = False
End Sub
Private Sub tw1_DblClick()
lDblClck = True
End Sub
Private Sub tw1_NodeClick(ByVal Node As MSComctlLib.Node)
If lDblClck = False Then Exit Sub
.......
End Sub