Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Visual FoxPro 6. Столкнулся с проблемой. Создал в форме объект TreeView. Описал методы Collapse и Expand. Вроде-бы все красиво: значки у узлов меняются при открытии и закрытии. А как оброботать двойной Click на конечном узле(без Child), чтобы запустить на выполнение какую-нибудь процедуру, не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2003, 21:15 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Код: 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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 09:56 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Спасибо, что ответили. Первый раз попробовал на форме что-то спросить. Не ожидал получить ответ. Попробую, результат сообщу. С Уважением, Максим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 12:12 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Попробовал. Прописал следующее: Код: 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. ========== Проверял через Debugger. Метод otree.NodeClick обрабатывается нормально: ThisForm.NodeClick и ThisForm.ActiveNode присваиваются в зависимости от Image. Дальше дело не идет. Fox отказывается обрабатывать метод otree.DblClick ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 13:58 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Почти "работает". Только нужно последовательно сначала щелкнуть мышкой на Node без дочерних узлов, а потом два раза щелкнуть мышкой в форме. Так не пойдет. Может что-нибудь еще предложишь? У меня идеи кончились. Я уже неделю экспериментирую. Максим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 14:59 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
2МаксимВ Если ты инициировал дерево, так же, как и я, то для нод без дочерних у него Image=1, а не 3. Чем тебе свойство Children не понравилось? Оно возвращает кличество дочерних нод для ноды, как раз твой случай. Последовательность обхода при двойном щелчке на ноде, неважно активная она или нет: oTree.NodeClick() oTree.DblClick() Проверь как у тебя отрабатываю события, например таким образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. У меня все работает нормально, VFP8+Microsoft TreeView Control 6.0 (SP4) Может у тебя версия контрола старая и она ведет себя по-другому? Тогда проще скачать последний серпак для фокса, там обновлены Common Controls OCX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 18:17 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Сделал как посоветовал. При Click на узле выходит ошибка: API function_UserError() was called. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 19:23 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
У меня VFP6 + Microsoft TreeView Control 6.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 19:29 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
А в событие otree.Error прописал, чтобы эта ошибка выводила на экран имя метода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 19:30 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Да. Написал как говорил: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 20:19 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Попробовал по другому: Код: plaintext 1. 2. 3. 4. 5. 6. При двойном клике на форму выводит dblClick. При клике на любом узле ошибка:API function_UserError() was called ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 20:27 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Смысл в следующем: щелчок по ноде, на экране выводиться: nodeclick двойной щелчок по дереву вне ноды: dblclick двойной щелчок по ноде: nodeclick dblclick Таким образом, при двойном щелчке на ноде происходят два события в определненной последовательности. При обработке первого события (nodeclick) устанавливается флаг (ThisForm.NodeClick), а во втором событии (dblclick) вызывается нужный метод, на основании того установлен флаг или нет, и сбрасывается флаг. Если у тебя последовательность событий другая, то мой первоначальный вариант не будет работать. Но мне кажется, ты что-то перемудрил :) ЗЫ проверил на TreeView Control 5.0 (SP2) - все работает аналогичным образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 20:51 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
Привет! Вчера уже поздновато было отвечать(у меня 3-тий час ночи был, а в понедельник на работу надо). Сегодня создал форму так, как в первоначальном примере. Объект TreeView взял Microsoft TreeView Control 5.0 (SP2) и пришлось брать ImageList Control 5.0 (SP2). Узлы в "дерево" добавлял по примеру, только параметр l4 заменил на 4. Добавил ERROR 1098 в процедуры, и описал Error для oTree(я вчера со слепу для формы описал) Код: plaintext 1. 2. 3. Смысл задуманного я понял сразу(надеюсь правильно). Только у меня по примеру получается так: Вариант 1. Один щелчок по ноде: nodeclick Двойной щелчок вне ноды: dblclick nodedblclick У нас флаг не сброшен. Вариант 2. Один щелчок по ноде: nodeclick Двойной щелчок по ноде: nodeclick Двойной щелчок вне ноды: dblclick nodedblclick Т.к. после щелчков по ноде не выплняется последовательность: nodeclick->dblclick и соответственно опять не сбрасывается флаг. Мне кажется, что мы идем не тем путем. Может быть дело не в VFP, а в самом WINDOWS. Одно внешнее действие - двойной щелчок не обрабатывается как два: одинарный щелчок+двойной. Я проверял в Dbugger, при помощи SECONDS(), при двойном Click даже нет временного интервала между щелчками. Может в VFP8 что-то и придуманно, не знаю, у меня VFP6(повторяюсь). Максим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 15:57 |
|
||
|
зашел в тупик с TreeView
|
|||
|---|---|---|---|
|
#18+
2МаксимВ > Узлы в "дерево" добавлял по примеру, только параметр l4 заменил на 4. да, там ошибка при копировании из программы в форум. > Т.к. после щелчков по ноде не выплняется последовательность: nodeclick->dblclick и соответственно опять не сбрасывается флаг. Только что проверил на VFP5, последовательность та жа, а флаг действительно сбрасывается неверно. В nodeclick должно быть что-то вроде: Код: plaintext 1. 2. 3. 4. 5. 6. И тогда такой DblClick нормально отрабатывает Код: plaintext 1. 2. 3. 4. > Мне кажется, что мы идем не тем путем. Может быть дело не в VFP, а в самом WINDOWS. Одно внешнее действие - двойной щелчок не обрабатывается как два:одинарный щелчок+двойной. А какой у тебя windows? У меня только win2k, больше проверить не на чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32305460&tid=1597669]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 501ms |

| 0 / 0 |
