Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Экзотика - компонент 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
1-1098972789
Sp0k3r
2004-10-28 18:13
2004.11.14
Строки...


1-1099343328
ospa
2004-11-02 00:08
2004.11.14
как перехватить нажатие клавиш на клавиатуре?


3-1098117220
techgl
2004-10-18 20:33
2004.11.14
TQuery и локальные БД


1-1098961605
Chlavik
2004-10-28 15:06
2004.11.14
Pointer -> _ContactItem и наоборот


14-1098802549
YurikGL
2004-10-26 18:55
2004.11.14
Официальный предствитель фирмы Microsoft





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский