神秘的资源丢失,帮帮忙!...

pipimei 2000-07-08 10:49:00
我希望自绘制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?请教诸位指点。
...全文
100 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphizhao 2000-07-12
  • 打赏
  • 举报
回复
在TForm1.Listview1CustomDrawItem的最后加上一句
ListView1.Canvas.Handle:=0;
试试看!!!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧