Delphi对TreeView的bug(0分)

  • 主题发起人 主题发起人 redforks
  • 开始时间 开始时间
R

redforks

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi的TTreeView插入长度超过260个字符的TreeNode,会导致TreeView出错。
如:
function Space(Count: integer; FillChar: char = ' '): String;
var
i: integer;
begin
SetLength(result, Count);
for i := 1 to Count do
result := FillChar;
end;

当执行
TreeView1.Items.AddChild(nil, space(260, 'a'));
时,就会导致TreeView出错。

而实际上,在delphi的TTreeView的可视化编辑器"TreeView Items Editor"中,
item的字符串自动被截断而不超过最大值。
同样,在vb中,vb控件也能正确截断字符串。
 
TreeView1.Items.AddChild(nil, space(260, 'a'));
老兄这句话在DELPHI中可是错误的,应该是:
T.Items.AddChild(nil, stringofchar('a',260));
不过错误是会出错
那你只有判断一下是否超过260,人为截断字符串:
T.Items.AddChild(nil, copy(stringofchar('a',260),1,259));
就OK了嘛,
DELPHI不给你自动你就自己动手呀
 
接受答案了.
 
后退
顶部