Вниз
Скачать: CL | DM;

Ещё раз про TreeView   Найти похожие ветки 

 
DelphiNew   (2004-07-13 09:59) [0]

Подскажите как можно перейти к предыдущему элементу верхнего уровня?


 
Ega23 ©   (2004-07-13 10:04) [1]

Вот кусок из проета старого выдрал, может поможет.
Здесь tvSets:TTreeView.

function TFMain.FindNearest(const CurrentIndex:Integer; IsUp:Boolean):Integer;
begin
Result:=CurrentIndex;
if IsUp then
 begin // движение по TreeView вверх
  if (tvSets.Items[CurrentIndex].Text=tvNodeCaps[6]) or
     (tvSets.Items[CurrentIndex].Text=tvNodeCaps[11]) then
   tvSets.Selected:=tvSets.Items[CurrentIndex-1];
  if (tvSets.Items[CurrentIndex].Text=tvNodeCaps[0]) then
     tvSets.Selected:=tvSets.Items[DefaultNodeIndex];
 end
else
 begin // движение по TreeView ввниз
  if (tvSets.Items[CurrentIndex].Text=tvNodeCaps[6]) or
     (tvSets.Items[CurrentIndex].Text=tvNodeCaps[11]) then
   tvSets.Selected:=tvSets.Items[CurrentIndex+1];
  if (tvSets.Items[CurrentIndex].Text=tvNodeCaps[0]) then
     tvSets.Selected:=tvSets.Items[DefaultNodeIndex];
 end;
tvSets.OnClick(nil);
end;


 
Ega23 ©   (2004-07-13 10:09) [2]

Мда, сейчас на код этот посмотрел...
Всё что тебе нужно, это
tvSets.Selected:=tvSets.Items[CurrentIndex-1];
или
tvSets.Selected:=tvSets.Items[CurrentIndex+1];

Ну, конечно, проверять, чтобы было 0<=Твой_Индекс<tvSets.Items.Count


 
Семен Сорокин ©   (2004-07-13 10:10) [3]

TTreeNode.Parent
а еще есть у него св-во Level


 
Семен Сорокин ©   (2004-07-13 10:12) [4]

и куча методов:
getFirstChild
GetLastChild
GetNext
GetNextChild
getNextSibling
GetNextVisible
GetPrev
GetPrevChild
getPrevSibling
GetPrevVisible
подробнее см. в справке (F1)


 
DelphiNew   (2004-07-13 11:10) [5]

Спасибо


 
DelphiNew   (2004-07-13 11:10) [6]

Спасибо за помощь



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
14-1089121711
QuasiLamo
2004-07-06 17:48
2004.07.25
Избавиться от запаха часов


3-1088932286
Bizon's
2004-07-04 13:11
2004.07.25
Разрыв связи в InterBase


14-1088689475
KilkennyCat
2004-07-01 17:44
2004.07.25
11500 дней!


9-1081921850
Мараканец
2004-04-14 09:50
2004.07.25
Шейдеры


1-1089552359
Tahion2
2004-07-11 17:25
2004.07.25
Добавить прозрачную Label на CoolBar без полосы.




   Наверх