Текущий архив: 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.018 c