各位:关于listview的oncustomdrawitem事件怎样在程序运行后触发?(比较急)(100分)

  • 主题发起人 主题发起人 cwt
  • 开始时间 开始时间
C

cwt

Unregistered / Unconfirmed
GUEST, unregistred user!
要求:ownerdraw属性必须设为false,因为要使用checkbox属性。
我发现在程序启动之前可使用oncustomdrawitem事件来改变listview中的文字颜色,
但是怎样在程序启动之后人为地触发oncustomdrawitem事件?(提供其他解决方法也可,
谢谢大家的关注。)
 
为什么ownerdraw属性必须设为false
设为true,也可以用CheckBox

请在OnCustonDrawItem事件里添加如下语句试一试
Sender.Canvas.Font.Color := clRed;
DefaultDraw := true;

 
在button的代码中触发它就可以了。
主要要注意它的参数。

 
>>但是怎样在程序启动之后人为地触发oncustomdrawitem事件?(
sendmessage(listview.handld,wm_paint....)
or
直接调用该事件
 
正如sword_liu所说,如果我想在代码中直接调用oncustomdrawitem,参数应该怎么设置?
我自己直接调用了一下,但总是报告参数类型找不到。
 
>>提供其他解决方法也可
我的方法不是解决问题啦吗?
 
to Activer:兄弟,我现在需要在程序启动后人工触发oncustomdrawitem事件,请指教。
 
55555555555....
怎么还没有人回答?please...
 
 DBGrid1.Repaint;
DBGrid1.Invalidate;
DBGrid1.Update;
 
to menxin:测试通过!分给你!
我终于可以随心所欲地修改listview中文字的颜色了。谢谢大家!
 
唉!
老大这句 DefaultDraw := true; 在每个OwnerDraw都要写!
 
补充:我发现当用户修改了listview中的内容之后,
delphi会自动触发oncustomdrawitem事件!所以我们只需在
oncustomdrawitem事件中加入判断语句,
就可以动态地决定listview中文字的颜色。(请大家不要笑我菜。)
 

Similar threads

D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
D
回复
0
查看
639
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部