powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как запретить выделение Checked в TreeView?
6 сообщений из 6, страница 1 из 1
Как запретить выделение Checked в TreeView?
    #34283576
Dmitry07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста. Нужно, чтобы выделение узла дерева было невозможно. Попытка изменить значение в NodeCheck результата не принесла:

TreeView
NodeCheck:

LPARAMETERS node
node.Checked=.F.
...
Рейтинг: 0 / 0
Как запретить выделение Checked в TreeView?
    #34283896
Алексей О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может свойство checkBoxes =.f. тебе поможет
...
Рейтинг: 0 / 0
Как запретить выделение Checked в TreeView?
    #34283925
Dmitry07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, дело в том, что CheckBox-ы нужны. Просто нужно запретить выделение отдельных узлов дерева.
...
Рейтинг: 0 / 0
Как запретить выделение Checked в TreeView?
    #34285455
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А попробуй
Код: plaintext
1.
2.
LPARAMETERS node
node.Checked=.T.

:-))
или
Код: plaintext
1.
2.
LPARAMETERS node
Nodefault
...
Рейтинг: 0 / 0
Как запретить выделение Checked в TreeView?
    #34286474
Dmitry07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти варианты не подходят. node.Checked=.F. или .T. не влияют на результат NodeCheck.
...
Рейтинг: 0 / 0
Как запретить выделение Checked в TreeView?
    #34286535
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В лоб запретить изменение свойства Checked на форме мне не удалось. Нашел 2 варианта решения:

1. Вместо CheckBox-ов используй картинки (ImageList)

2. Использование таймера.

Для этого в событии NodeCheck пишем:

Код: plaintext
1.
2.
3.
4.
*** ActiveX Control Event *** 
LPARAMETERS node 
ThisForm.Timer1.Tag=node.key 
ThisForm.Timer1.enabled=.T. 

В событии Timer

Код: plaintext
1.
2.
3.
4.
5.
IF This.enabled AND EMPTY(This.Tag)=.F. 
	This.enabled=.F.
	ThisForm.MyTree.Nodes(This.Tag).Checked=!ThisForm.MyTree.Nodes(This.Tag).Checked 
	This.Tag="" 
ENDIF


Разумеется изначально Timer должен быть не активным. Интервал таймера можешь выставить любой. Правда при любом раскладе будет заметно моргание. Хотя можно еще попробовать LockScreen для подавления моргания.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как запретить выделение Checked в TreeView?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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