Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ещё раз про TreeView [D7, WinXP]


DelphiNew ©   (2004-07-13 09:59:00) 

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


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

Спасибо


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

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


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

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


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

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


Ega23   (2004-07-13 10:09:00) [5]

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

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


Ega23   (2004-07-13 10:04:00) [6]

Вот кусок из проета старого выдрал, может поможет.
Здесь 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо