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

Вниз

Знатокам TVirtualStringTree   Найти похожие ветки 

 
Ega23 ©   (2012-03-21 11:47) [0]

Есть Node. Его текст - редактируемый. Вот мы вошли по F2 в редактор, что-то набрали. Enter.
Вопрос: как мне в событии OnNewText если этот NewText невалиден по каким-то моим критериям запретить выход из редактора?
Либо принудительно ввести данную ячейку в режим редактирования?
Либо какое-то событие, типа OnBeforeNewText?
OnChanging не хочется задействовать, ибо проверка валидности может занимать десятые доли секунды, пока оно до базы продолбится.
Можно даже потомка написать с каким-нибудь перекрытым виртуальным методом, не вопрос.

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


 
Ega23 ©   (2012-03-21 12:25) [1]

Нашёл.

Проверяем в OnEdited:


procedure TUpdateCreateMasterForm.vstGroupsEdited(
 Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex);
begin
 if Column = 1 then
   if vstGroups.Text[Node, Column] = "aaa" then
     vstGroups.EditNode(Node, Column);
end;


Если решение ректальное - поправьте.


 
han_malign   (2012-03-22 12:40) [2]


> потерялся в многообразии свойств TVST.

- дык, надо сначал в MSDN смотреть, что TreeView позволяет...
А TVN_ENDLABELEDIT позволяет только отменить редактирование - edit один фиг прибивается...
Обвязка edit-а - еще ректальнее, т.к. засада с потерей фокуса только усугубится...


 
CRLF   (2012-03-22 12:52) [3]


> han_malign   (22.03.12 12:40) [2]
VirtualStringTree -- это слегка из другой оперы.


 
Ega23 ©   (2012-03-22 13:04) [4]


> т.к. засада с потерей фокуса только усугубится...


Да вроде нормально всё.
А где в MSDN VST описано? Они же Code Gear продались, не?


 
han_malign   (2012-03-22 14:03) [5]

а - фиг... - думал нормальная обвязка стандартного контрола, посмотрел - все с нуля рисуют...
то есть там все ректальное...

тогда можно посмотреть в сторону    
TBaseVirtualTree
     function DoEndEdit: Boolean; virtual;
- но осторожно...
(у меня на руках древняя Version 4.0.17)


 
CRLF   (2012-03-22 14:17) [6]

Кстати, из своего опыта общения с данным компонентом помню, что были нюансы при использовании скролбаров во время редактирования. Проверь сразу, так ли он себя ведёт, как тебе нужно.

P.S. А ещё это чудо все редакторы создаёт как многострочный edit, даже если у TVST многострочность отключена.


 
Ega23 ©   (2012-03-22 19:17) [7]


> тогда можно посмотреть в сторону    
> TBaseVirtualTree
>      function DoEndEdit: Boolean; virtual;


Ага, спасибо, посмотрю.


>  были нюансы при использовании скролбаров во время редактирования.


ОК, спасибо, завтра гляну обязательно.


 
DVM ©   (2012-03-22 23:06) [8]


> han_malign   (22.03.12 14:03) [5]
> а - фиг... - думал нормальная обвязка стандартного контрола,
>  посмотрел - все с нуля рисуют...
> то есть там все ректальное...

ничего там не ректальное, ректальное - это в SysListView32, что даже в виртуальном режиме ему до VitrualListView как до луны пешком.



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

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.07 c
15-1328614653
istok20
2012-02-07 15:37
2013.03.22
миграция в mac os..


3-1284795538
vhm
2010-09-18 11:38
2013.03.22
Подключение к MySQL


15-1329769805
Юрий
2012-02-21 00:30
2013.03.22
С днем рождения ! 21 февраля 2012 вторник


3-1280406421
Alekcey
2010-07-29 16:27
2013.03.22
raised exception ... in module IDODBC32.DLL


15-1353661371
legolazzzz
2012-11-23 13:02
2013.03.22
cos в чате





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