![]() |
|
|
|
|
#1
|
||||
|
||||
|
Как можно получить индекс самого первого узла где находиться выделенный узел
Допустим Русский -->Максимальное число CMP MaxID: ----> Текст: 1 ----> Текст: 2 ----> Текст: 3 Английский ... У меня выделен узел Текст: 3 надо получить индекс Русский тоесть нужно получить Index = 0 но как это сделать программно Английский это уже будет Index = 1 Есть функция |
|
#2
|
|||
|
|||
|
Цитата:
Код:
function GetTopNodeIndex(ASelected : TTreeNode) : Integer
var
Node : TTreeNode;
begin
Node := ASelected;
If Node = Nil
Then Result := -1
Else
Begin
While Node.Parent <> Nil Do Node := Node.Parent;
Result := Node.Index;
End;
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
AlexandrV (20.08.2013)
| ||
|
#3
|
||||
|
||||
|
Код:
procedure TMain_Application.BTN4Click(Sender: TObject);
var i:integer;
begin
TRV1.SetFocus;
If Length(ED3.Text) >0 then begin
TexIni:=TIniFile.Create(ExtractFileDir(Application.ExeName)+'\Редактор Libx\Text.ini');
For i := 0 to TRV1.Items.Count-1 do begin
If Pos(TRV1.Items.Item[i].Text, GetChangeLang('RUS-->', name+'-->'+TRV1.Name+'-->Items-->Text1'))=0 then begin
TexIni.WriteString('-->Libx-->'+TabControl1.Tabs.Strings[TabControl1.tabIndex]+'-->'+inttostr(i)+'-->'+GetChangeLang('RUS-->',name+'-->'+TRV1.Name+'-->Items-->Text4')+' '+Ed3.Text, Name+'-->'+RTFB1.Name+'-->Text<--Lines['+IntToStr(TRV1.Selected.AbsoluteIndex)+']','MaxID:'+ED3.Text);
TRV1.Items.AddChild(TRV1.Items.Item[i],GetChangeLang('RUS-->', name+'-->'+TRV1.Name+'-->Items-->Text1')+' '+Ed3.Text);
end;
end;
TRV1.FullExpand;
Ed3.Text:='';
TexIni.Free;
end;
end;В TreeView1 он мне узлы добавляет таким образом Русский --->Максимальное число CMP MaxID: 10 ------>Максимальное число CMP MaxID: 10 Английский а надо так Русский --->Максимальное число CMP MaxID: 10 Английский --->Максимальное число CMP MaxID: 10 Такто проблемы нет сделать задом на перед но надо сохранить Absoluteindex в секции узла который добавляешь тоесть если добавляешь в узел русский то он должен в секцию записть абсолютный индекс узла русский чтобы потом этот текст можно было считать Можете помочь как сделать переменная i и должна содержать этот абсолютный index |