TreeView的两个小问题(100分)

  • 主题发起人 主题发起人 autumn
  • 开始时间 开始时间
A

autumn

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何实现BDE Administrator中的修改参数后,图标变成了两个修改标志+原来的图标
2.TreeNode.Data关联了new的record后,当删除treeview.items的时候,要不要另外
freemem record
 
唉,这次你大方了。给你一个控件,全搞定,
让发到哪个信箱?
 
1。不明白你是什么意思??
2。如果你的new record不需要再保留,建议你释放。
 
1。试一下 TreeView.StateImages 能否达到你的要求,
不能的话,可以在 OnCustomDraw 或 OnCustomDrawItem 事件中实现。
2。TreeNode.Data 关联的内存必须自己释放,
关于释放内存,
用 new 分配的,一般用 dispose 释放
用 AllocMem 分配的,才用 FreeMem 释放
 
第一个问题还须帮忙。
 
Treeview有StateImages和Images两列图标组,
需要设置State index和Image index,
当State index为-1时,只显示一个图标,
当它 >0 时,为两个图标。
 
TreeView 的 TreeNode 本身就可以显示图标,自己判断状态,
设置不同的图标不就可以了?
 
问题3:如何实现在不同的TreeNode实现不同的Hit
 
这50分不白花

procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String;
var CanShow: Boolean; var HintInfo: THintInfo);
begin
hintinfo.ReshowTimeout:=1;
end;

procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var tn:TTreeNode;
begin
tn:=TreeView1.GetNodeAt(x,y);
if tn<>nil then
hint:=tn.Text
else begin
Application.HideHint;
hint:='';
end;
end;
 
多人接受答案了。
 
后退
顶部