我看到有两中方法,但都不使用,我想把它更实用点.请大家帮帮忙.
一.
在listview中的OnDrawcustomItem中用下列语句实现.
if Item.Index mod 2 =0 thenSender.Canvas.Brush.Color :=clSkyBlueelseSender.Canvas.Brush.Color :=clWhite;
我把if Item.Index mod 2 =0 then条件改为if Item.index=listview1.selected.index then 可运行时在这儿就要出错请大家帮我看看错在哪儿,怎样修改.
二.
在OnDrawcustomItem中用下列的语句实现
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
但是运行时若在多行之间切换会在listview的最左边有一点颜色总是消不完,就是在listview的最左边会出现一条红色的直线.看来很不爽.还是请大家帮我修改一下吧我正要用这个.谢谢!
一.
在listview中的OnDrawcustomItem中用下列语句实现.
if Item.Index mod 2 =0 thenSender.Canvas.Brush.Color :=clSkyBlueelseSender.Canvas.Brush.Color :=clWhite;
我把if Item.Index mod 2 =0 then条件改为if Item.index=listview1.selected.index then 可运行时在这儿就要出错请大家帮我看看错在哪儿,怎样修改.
二.
在OnDrawcustomItem中用下列的语句实现
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
但是运行时若在多行之间切换会在listview的最左边有一点颜色总是消不完,就是在listview的最左边会出现一条红色的直线.看来很不爽.还是请大家帮我修改一下吧我正要用这个.谢谢!
解决方案 »
- 恶心的错误!~恐怕一般人难以解决吧~★☆★☆★☆★☆★☆
- 同一时间发出多条请求
- SPCOMM中OnReceiveData事件没有触发?
- OLE问题:如何在Word里划线?拜请大侠指点,在线等
- 怎样设置用户权限?
- 送200分,请大家推荐几个速度较快的ASP空间。
- 请问用vb,vc,delpy,c++ buildle编写的知名软件各有哪些?(不包括for .NET)
- 菜鸟求救,怎么让托动Form1时Form2也跟着托动?
- 大家来讨论讨论:如何用一条SQL语句实现不同数据源的连接。(最好是经过测试的)
- 两台机器通过拨号上网,是否能够通过一台机器读取另一台机器的数据库,用SocketConnection(内详)
- delphi5中如何取出oracle long raw字段中的二进制文件?
- 帮帮忙
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
p.Left :=P.Left+2;
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
p.Left:=p.Left+2;
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(p);
defaultdraw:=false;
end;