Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: CL | DM;

Вниз

Подскажите, как правильно переопределить класс   Найти похожие ветки 

 
Good Man ©   (2002-06-11 06:27) [0]

Есть класс TtreeNode, который представляет из себя, узел в TreeView.

Хотел добавить новое свойство в этот класс – NameRubric.

type
TMyTreeNode = class(TTreeNode)
private
FNameRubric: string;
public
property NameRubric: string read FNameRubric write FNameRubric;
end;


При создании этих узлов (TtreeNode) в TreeView1:


...
TreeItem: TMyTreeNode;
...
TreeItem := TreeView1.Items.AddChild(TreeView1.Items[0], ‘какой-то текст’);


Происходит ошибка:

Incompatible types: "TMyTreeNode" and "TTreeNode"


 
MBo ©   (2002-06-11 06:47) [1]

результат AddChild - TTreeNode, и его нельзя присвоить наследнику, а вот наоборот можно.
В твоем случае, IMHO, проще всего хранить дополниительную информацию в свойстве Treenode.Data - хоть целый объект


 
Polevi ©   (2002-06-11 10:24) [2]

Необходимо создать класс-наследник от TreeView

TMyTree = class(TCustomTreeView)
protected
function CreateNode: TTreeNode; override;
end;


function TMyTree.CreateNode: TTreeNode;
begin
Result := TMyNode.Create(Items);
end;

и тогда

TreeItem := TMyNode(TreeView1.Items.AddChild(TreeView1.Items[0], ‘какой-то текст’));



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

Текущий архив: 2002.06.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
4-77688
Y_Vovan
2002-04-26 15:56
2002.06.24
Как програмно создать юзера с паролем в Win98,Nt,W2K,Xp


1-77330
Doctor Deejay
2002-06-10 20:01
2002.06.24
Двигать содержимое ScrollBar сразу при передвигании лифтика


3-77261
Бульбаш
2002-05-28 16:06
2002.06.24
Сообщение


7-77623
GreySerg
2002-03-26 16:38
2002.06.24
Можно ли программно изменить значение кадровой частоты в DOS-программе


3-77284
Meduza
2002-05-27 15:28
2002.06.24
Kak razpoznatj sistemnogo administratora