看来没有人搭理,好,再加50分
我希望自绘制ListView控件,就尝试着在其OnCustomDrawitem事件中加入如下代码:
procedure TForm1.Listview1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
defaultdraw:=True;
with Listview1.canvas do begin
if cdsSelected in State then
font.color:=clred
else
font.color:=clblue
end;
end;
然而,另人恐怖的事情发生了,运行程序后,查看资源状况,系统资源迅速、大幅地
下降,甚至Windows会弹出“系统资源到了危险的程度”的警告提示框。
去掉上述代码,问题不再出现。在Treeview控件中使用该事件,也没有问题。
这是何原因?难道是D5的BUG?
另外,查阅D5的帮助,说明了Listview的OnCustomdrawitem、OnCustomDrawsubitem、
OnCustomDraw等几个事件必须在listview的OwnerDraw属性设为True才有效,然而好象并非
如此。
那么,如何自绘制listview?请教诸位指点。