Тема: Можно ли запретить ставить галочки в checkbox у TreeView?

Здравствуйте, уважаемые форумчане!
Дело такое. У элемента TreeView есть checkbox-ы. При отжатом Ctrl нужно все галочки программно снимать. Мне не нравится то, что когда при отжатом Ctrl мы кликаем на некоторый checkbox, то на нём появляется галочка. Снять её можно, ещё раз кликнув мышкой. :) Как бы её так принудительно снимать или вообще сделать checkbox типа disabled?...  Вот код:

If CTRL_IS_PRESSED Then
    'делаю что надо
Else
    For Each tmp In TreeView1.Nodes 'снимаю все галочки
        tmp.Checked = False
    Next
    ShowTreeForm.TreeView1.Refresh  'НЕ ПОМОГАЕТ
End If

Спасибо.

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

Да, кстати. Этот фрагмент кода был в обработчике TreeView1_NodeCheck. Ещё такую вещь обнаружила: ShowTreeForm.TreeView1.Refresh нормально срабатывает, но после выхода из функции TreeView1_NodeCheck галочка опять появляется, как ни в чём не бывало. Поэтому и кажется, что она не исчезает. Что я не правильно делаю?

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

И ещё одно маленькое дополнение. Кажется, я поняла причину своей печали, но как её побороть - не знаю... Окно немодальное. Если сделать его модальным, то всё работает. Но модальным сделать нельзя (есть на то причины). Хотела сделать его временно модальным, но кусок кода

ShowTreeForm.Hide
ShowTreeForm.Show 'modal
ShowTreeForm.Hide
ShowTreeForm.Show vbModeless

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

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

Может, не в этот обработчик надо кидать подобную функцию? Я не спец в VB(A), но, думаю, что надо было использовать нечто типа

Private Sub object_KeyPress([index As Integer,]keyascii As Integer)

Object -> TreeView
Может, понадобится работать с KeyDown и KeyUp по документации KeyPress не все клавиши отлавливает (насколько я помню, F1-F12, Delete, Insert, BackSpace).

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

То есть перечисленные клавиши KeyPress не ловит - как будто их и не было.

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

Думала на эту тему. Но боюсь, что нельзя на KeyUp (отжимание Ctrl) - ведь пользователь может потом снова нажать Ctrl и продолжить выделять узлы... Нехорошо, если его предыдущие труды сбросятся.

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

Стоп. Зачем жать Ctrl для выбора нескольких элементов? Оно и так выбирается - попробуй, я на пустом провернул, пашет.

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

Зачем жать Ctrl для выбора нескольких элементов?

Чтобы знать, когда сбросить галочки. Может, криво, конечно... Ну, простите меня великодушно. :)
Допустим, при обычном выборе пользователь ткнул узел (не checkbox) - подсветились нужные объекты на чертеже, ткнул другой - подсветились другие объекты, а первые отсветились обратно. При множественном выборе: наставил галочек - посветилось всё, что наствавил, потом нажал Esc либо ткнул какой-то узел (не checkbox, т.е. решил вместо множественного делать обычный выбор)- выделение снялось. А галочки-то остались... Поэтому я и сделала так, чтобы пока он чего-то там множественно выбирает, галочки сохранялись, а когда нет - сбрасывать их...
А может, и правда, можно без Ctrl обойтись. Сейчас попробую...

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

[]Select ALL
[]DeSelect ALL
[]Select Objects
 L[]Cicle
 L[]Poly
 L[] L ....

А Так вот пойдет? Это короче ТриВью написан символами :)

Re: Можно ли запретить ставить галочки в checkbox у TreeView?

SmeL: Для меня - выглядит просто как заклинание друидов. :) Я даже не очень представляю, куда это заклинание надо вписать, чтобы узнать, как оно работает. Вроде, комбинация знакомых слов, но ничего не понятно... :)
Кажется, у меня почти не глючит версия без Ctrl - спасибо kpblc!!!