Форум: "Начинающим";
Текущий архив: 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.057 c