Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Экзотика - компонент VirtualTreeview   Найти похожие ветки 

 
Matrex   (2004-10-29 23:42) [0]

Есть ну очень мощный компонент VirtualTreeview – альтернатива встроенному в Delphi TreeView+ListView в одном флаконе. Так что вопрос для бывалых. Итак, создаю обработчик редактирования ячеек. Проблема – при выходе из редактора (обработчика), например по кнопке ENTER не могу обновить окно VirtualTreeview дабы отобразить измененное содержимое ячейки. Вопрос – как корректно выйти из обработчика в основной поток программы и отработать определенный код, в моем случае графически обновить окно VirtualTreeview?


 
jack128 ©   (2004-10-30 01:38) [1]

Matrex   (29.10.04 23:42)
Экзотика - компонент VirtualTreeview


Это далеко не экзотика. Этот компонент, AFAIK, на диске с семеркой находится..

у интерфейса IVTEditLink есть метод EndEdit.
function EndEdit: Boolean; stdcall;                    // called when editing has been finished by the tree
а вообше дерево автоматом обновляется после радактирвания..Ну в крайнем случае как обычно - делай Invalidate..


 
Matrex   (2004-10-30 10:27) [2]

:) Да вот не работает эта штука. Суть такая - в обработчике создаю TEdit, опрашиваю клаву - если нажат ENTER то считаю что ввод завершен - вызываю  EndEdit где обновляю данные в ноде, прячу Edit, передаю фокус на дерево (как сделано в примере). Но новое значение не отображается - и что я только не делал и refresh, и refreshnode и т.д. и.т.п. Да и вообще, какое сообщение срабатывает после окончания редактирования? Ведь которые там прописанны срабатывают только со стандартным обработчиком...


 
jack128 ©   (2004-10-30 16:54) [3]

Matrex   (30.10.04 10:27) [2]
вызываю  EndEdit где

Зачем? Это дерево вызывает этот метод когда закончено релдактирование. Ты путаешь причину и следствие. Этот метод вызывается когда закончено редактирование, а не редактирование закончено потому чтоо этот метод вызвали ;-) Заставить дерево выйти из режима ректирования можно методом TBaseVirtualTree.EndEditNode .
Matrex   (30.10.04 10:27) [2]
Да и вообще, какое сообщение срабатывает после окончания редактирования

Без понятия. Сомневаюсь, чтобы вообще какое нить приходило - это же не оболочка над виндовым TreeView, а полностью с нуля написаное дерево.
Matrex   (30.10.04 10:27) [2]
и что я только не делал и refresh, и refreshnode

значит как то коряво данные в Node"е обновил. Код в студию(с)
Matrex   (30.10.04 10:27) [2]
? Ведь которые там прописанны срабатывают только со стандартным обработчиком

в смысле со стандартным editor"ом?? Скачай VTEditors - посмотри как делается редакторы..Схема работы дерева никак не зависит от редактора.



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
3-1097483098
BanderLog
2004-10-11 12:24
2004.11.14
FB 1.5 Создания БД программно.


14-1099001944
olookin
2004-10-29 02:19
2004.11.14
Я тону в своей безупречности....


14-1098712051
Empleado
2004-10-25 17:47
2004.11.14
Есть ли знатоки C (не C++)


8-1092045694
анонимный
2004-08-09 14:01
2004.11.14
Мало-мальские кины.


14-1098931204
Ostap Bender
2004-10-28 06:40
2004.11.14
Договор