如题: 我创建了一个 imageList 作的TTreeView 的 stateImage,初始加入结点时设置各个结点的状态图标 StateIndex,结点的状态图标可以正常显示,但对结点拖动之后,结点的StateIndex虽然没有改变,但对应的图标却看不见了,调用TTreeView.update 等刷新函数之后还是看不到.
解决方案 »
- FastReport 打印多联主从单(快递Lable单)
- 关于ComboBox控件的选中问题
- 今天(7月15)农历生日, 放分1
- 给一个以前写的类,有兴趣的进来可以看看
- 怎么来设置应用程序的图标?
- 连接了DBGrid的ADOQuery,怎样判断其中是否有某个记录(不影响DBGrid和ADOQuery)?
- 有Cics的中文说明么???高分求购!!!200分,或者更高!!!!
- BDE error 8458 :Cannot load an IDAPI service library.是怎么回事?
- dbgrid中列字段的计算问题
- ★ 深入探讨网上短消息的发送问题
- 新手问题2
- 常量定义问题const str=$01;是什么类型的常量啊?
谢谢,重新赋值后问题就解决了.这是我增加的处理代码,把拖动的结点及其子孙结点的stateindex重赋一次.procedure TForm1.ResetStateImage(TreeNodeParent: TTreeNode);
var
Current: Integer;
begin
//1表示不可见,2表示可见
if TreeNodeParent.StateIndex = 1 then
TreeNodeParent.StateIndex := 2
else
TreeNodeParent.StateIndex := 1;
if TreeNodeParent.StateIndex = 1 then
TreeNodeParent.StateIndex := 2
else
TreeNodeParent.StateIndex := 1; if TreeNodeParent.HasChildren then
begin
TreeNodeParent:=TreeNodeParent.getFirstChild;
ResetStateImage(TreeNodeParent);
TreeNodeParent:=TreeNodeParent.Parent;
end;
if TreeNodeParent.getNextSibling<>nil then
begin
TreeNodeParent:=TreeNodeParent.getNextSibling;
ResetStateImage(TreeNodeParent);
end
else
exit;
end;