TTreeNode *SelNode = TTreeView1->Selected; //выделенный узел
TTreeNode *ParentNode = SelNode->Parent; //его ветка
TreeView
Подскажите пожалуйста как определить какую из дочерних веток я выделил?
Цитата:
Originally posted by micle77
Подскажите пожалуйста как определить какую из дочерних веток я выделил?
Подскажите пожалуйста как определить какую из дочерних веток я выделил?
Есть свойство Selected. Оно указывает на выделенный узел.
Код:
Цитата:
Originally posted by AlexandrVSmirno
Есть свойство Selected. Оно указывает на выделенный узел.
Есть свойство Selected. Оно указывает на выделенный узел.
Код:
TTreeNode *SelNode = TTreeView1->Selected; //выделенный узел
TTreeNode *ParentNode = SelNode->Parent; //его ветка
TTreeNode *ParentNode = SelNode->Parent; //его ветка
Можно пример, если не затруднит, мне нужно узнать выделена ли в Node дочерняя ветка и если да, то какая?
Цитата:
Originally posted by micle77
Можно пример, если не затруднит, мне нужно узнать выделена ли в Node дочерняя ветка и если да, то какая?
Можно пример, если не затруднит, мне нужно узнать выделена ли в Node дочерняя ветка и если да, то какая?
Можно, но позже. Скажем к вечеру.
Цитата:
Originally posted by AlexandrVSmirno
Можно, но позже. Скажем к вечеру.
Можно, но позже. Скажем к вечеру.
Буду очень признателен
Цитата:
Originally posted by micle77
Можно пример, если не затруднит, мне нужно узнать выделена ли в Node дочерняя ветка и если да, то какая?
Можно пример, если не затруднит, мне нужно узнать выделена ли в Node дочерняя ветка и если да, то какая?
Код:
if(TreeView1->Selected->Parent==Node)
{
// дочерная ветка выделена
}
{
// дочерная ветка выделена
}
В Borland-овском TreeView может быть выделена, только одна ветка. Определяется через TreeView1->Selected
Цитата:
Originally posted by micle77
Буду очень признателен
Буду очень признателен
Выдалась свободная минутка. Вот пример:
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1Click(TObject *Sender)
{
TTreeNode* SelNode;
if(TreeView1->Selected->HasChildren)
{
if(TreeView1->HasParent())
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Node: "+SelNode->Text;
}
else
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Root: "+SelNode->Text;
}
}
else
{
if(TreeView1->HasParent())
{
SelNode = TreeView1->Selected->Parent;
Label1->Caption = "Select Node: "+SelNode->Text;
}
else
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Root: "+SelNode->Text;
}
}
}
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1Click(TObject *Sender)
{
TTreeNode* SelNode;
if(TreeView1->Selected->HasChildren)
{
if(TreeView1->HasParent())
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Node: "+SelNode->Text;
}
else
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Root: "+SelNode->Text;
}
}
else
{
if(TreeView1->HasParent())
{
SelNode = TreeView1->Selected->Parent;
Label1->Caption = "Select Node: "+SelNode->Text;
}
else
{
SelNode = TreeView1->Selected;
Label1->Caption = "Select Root: "+SelNode->Text;
}
}
}
//---------------------------------------------------------------------------
Но для multiselect этто не катит.
Большое спасибо!