一个listbox控件,style为lbOwnerDrawFixed,自绘其中的Item,在OnDrawItem事件中有代码,
问题是,要如何手动触发listbox的OnDrawItem事件?
比如按下一个按钮就可以执行OnDrawItem中的代码对listbox进行重绘
如何实现?如果是发送消息要发送什么消息?
请高手指点!

解决方案 »

  1.   

    不会吧?这个很简单啊:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ListBox1.Invalidate;
    end;
      

  2.   

    你是想用外部事件触发OnDrawItem吗??
    最简单的方法ListBox1.SetFocus,这样就能够自动触发OnDrawItem事件
      

  3.   

    发送消息:
    WM_DRAWITEM  
    其参数的含义你查SDK就知道了。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  4.   

    晕 原来我还以为这是个高难度问题~~TO sysu(死树) 
    不是问题很简单,而是老大你太厉害!TO naughtyboy() 
    大哥,虽然你一颗红心向党开,可是你说的方法,试过了无用TO lxpbuaa(桂枝香在故国晚秋) 
    兄弟,我昏消息...老规矩,挂一夜,明天结帐,都有分!