我重载OnPaint自画项,那个鼠标选择项时出现的虚线框有没有办法自画?

解决方案 »

  1.   

    回答一二楼的问题:可以!添加自绘消息NM_CUSTOMDRAW调用ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw) //非微软认可(可靠)需手动添加2楼问题:
    那个虚线框在鼠标选择时能不能总出现?
    --------------------------------
    这个虚线框如果你想让它总出现也可以,不过还是要再重绘函数里自己去计算区域去DrawRect的。
      

  2.   

    shanwei355,不对啊,NM_CUSTOMDRAW好像只是绘制单个项啊,难道在这里边画鼠标选择框?
      

  3.   

    看来要彻底更改外观还不如自己弄个ListCtrl来得简单。
      

  4.   


    NM_CUSTOMDRAW是对list的Item进行重绘的。以前做过的东西 要求在Item里对鼠标选择框进行拖拽就是通过NM_CUSTOMDRAW来实现的。难道楼主你的要求是在整个List里选择?这个不清楚了。
    不知道能不能通过创建一个透明Wnd在这个Wnd上画鼠标选择框?
      

  5.   


    我想做个类似XP那样的半透明鼠标框选框,如果在NM_CUSTOMDRAW画这个框的话,那就是说CListCtrl如果有100个可见项那你这个鼠标调整选择框的每个移动都会引起100次对选择框的绘制,那样绘制的显示速度将慢的无法忍受。而如果这个选择框在OnPaint中绘制那鼠标对它的每个调整点都只要绘制一次。