1、新建一工程,放置一个TreeView和一个Button 以及一个ImageList,在ImageList中随便加入几个16*16的ICon,将Imagelist和TreeView关联。必须有节点图标。
2、将TreeView1的BorderStyle设为:BsNode;BevelKind设为bkFlat,BevelInner和BevelOuter设为Bvlowered;这是为了得到一个Flat边框.
3、在Button1Click中加入如下代码;
procedure TForm1.Button1Click(Sender: TObject);
var
NewNode : TTreeNode;
begin
IF assigned(TreeView1.Selected) then
newNode := Treeview1.Items.AddChild(treeView1.Selected,'akjflkafjlakdsa')
else
NewNode := TreeView1.Items.Add(nil,'asdjfllkjf');
NewNode.MakeVisible;
end;
4、猛按Button1,加入大量的Node,让垂直和水平滚动条出现;
5、随便多点击几次 Node,你将会发现滚动条没有正常刷新。
有什么办法来处理这BUG;
2、将TreeView1的BorderStyle设为:BsNode;BevelKind设为bkFlat,BevelInner和BevelOuter设为Bvlowered;这是为了得到一个Flat边框.
3、在Button1Click中加入如下代码;
procedure TForm1.Button1Click(Sender: TObject);
var
NewNode : TTreeNode;
begin
IF assigned(TreeView1.Selected) then
newNode := Treeview1.Items.AddChild(treeView1.Selected,'akjflkafjlakdsa')
else
NewNode := TreeView1.Items.Add(nil,'asdjfllkjf');
NewNode.MakeVisible;
end;
4、猛按Button1,加入大量的Node,让垂直和水平滚动条出现;
5、随便多点击几次 Node,你将会发现滚动条没有正常刷新。
有什么办法来处理这BUG;
try except
end;
treeview1.items.endupdate;好像就可以了;
只要BorderStyle设为:BsNode;BevelKind设为bkFlat,BevelInner和BevelOuter设为Bvlowered.就会出现滚动条不刷新的问题,在MEMO中这样设置的话,也会出现同样的问题;
我只试了TreeView和memo,但我想只要有这些属性,并有滚动条的控件都出出现同样的问题;
应该有很多人碰到这个问题了,但我不知道如何处理,请大虾们指教。PS;我的系统是 Delphi 7 + windows2000 professional简体中文版