Главная страница
    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.45 MB
Время: 0.034 c
1-1099373901
NewDelpher
2004-11-02 08:38
2004.11.14
Жуткие глюки Delphi7 в Windows 2003


11-1081939412
zoom
2004-04-14 14:43
2004.11.14
Что-то не так с размером....


1-1099239142
Piero
2004-10-31 19:12
2004.11.14
Проблемма с собственным классом


3-1097560479
Санёк
2004-10-12 09:54
2004.11.14
ADO - обновление данных перед редактированием


14-1098879796
Шишкин Илья
2004-10-27 16:23
2004.11.14
Аналог IntToStr в Turbo Pascal





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский