一个关于类和指针的问题(给出正确答案者,分数可再重加!)(50分)

  • 主题发起人 主题发起人 shineya
  • 开始时间 开始时间
S

shineya

Unregistered / Unconfirmed
GUEST, unregistred user!
我想写一个类TNodeBtn,继承自TImage,其中包含一个TTreeNode类的成员Node(指针类型),
一个AClick成员函数,并将该类的OnClick事件指向该事件(当然可以覆盖OnClick事件,
不过我没有这样做),当该类的实例被创建之后Node立即指向某个树视图的某个
节点(TTreeNode),不知该怎样实现。还请各位高手指教。小弟对Delphi中的指针的用法
不是太熟。但在C++中,我写出来的类一点问题也没有。能解决者,我会再加分的,谢谢!
 
竟然还没人愿意回复。大富翁真的越来越令人失望。我到目前为止,总共也就问了
几个问题,竟没一个得到满意答复。这也是我开的分数如此低的原因。我不想把分
直接扔掉。
 
我知道这个很简单,但你说得很不明白(该类,哪个类? TNodeBtn,TTreeNode?..
该事件?哪个事件?),我只能在技术上提示一下
在Create构造函数中
OnClick := 方法指针;
Node := XXX;
(XXX:TTreeNode必须传进来)

比如你想覆盖原来的OnClick
在构造函数中
Inherited OnClick := myClick;
再写一个自已的方法
procedure TNodeBtn.myClick(Sender:TObject)
begin
//........
end
 
我不清楚TTreeNode类居然还有OnClick事件.

随手写一个:
TNodeBtn = class (TImage)
private
fTreeNode:TTreeNode;
procedure AClick(Sender:TObject);
public
constructor Create(AOwner:TComponent; TreeNode:TTreeNode); reintroduce;
end;

.......


procedure TNodeBtn.AClick(sender:TObject);
begin
//Your codes ......
end;

constructor TNodeBtn.Create(AOwner:TComponent; TreeNode:TTreeNode);
begin
inherited Create(AOwner);
fTreeNode:=TreeNode;
fTreeNode.OnClick:=AClick; //???????
end;
 
后退
顶部